⑴ 建立一個數組 對其奇數項進行遞增排序 偶數項進行遞減排序
這個奇數項是數組元素的的個數為奇數,還是下標為奇數?下面是下標為奇數的情況#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main()
{
int a[10],i,j;
srand(unsigned(time(NULL)));
for (i = 0;i < 10;i++) /*隨機賦值*/
a[i] = rand();
int b[5],c[5];
for (i = 0;i < 5;i++)
{
b[i] = a[i * 2 + 1];
c[i] = a[i * 2];
}
int t;
for (i = 0;i < 5;i++)
for (j = i;j < 5;j++)
{
if (b[i] > b[j])
{
t = b[i];
b[i] = b[j];
b[j] = t;
}
if (c[i] < c[j])
{
t = c[i];
c[i] = c[j];
c[j] = t;
}
}
for (i = 0;i < 5;i++)
{
a[i * 2] = c[i];
printf("%d\n",a[i * 2]);
a[i * 2 + 1] = b[i];
printf("%d\n",a[i * 2 + 1]);
}
}數組大小沒說,我定為10,是隨機賦值的如有問題,請追問
⑵ C語言程序設計:3、編程實現,將任意一個給定的字元數組中下標值為奇數的元素由大到小排列,其它元素不變。
樓上沒看清題目吧
先解釋一下:因為下標為奇數,所以實際上是從偶數位第二位開始處理
#include<stdio.h>
#include<string.h>
int main()
{
unsigned int i,j;
char str[200];
char temp[100];
scanf("%s",&str);
unsigned int size = strlen(str);
for(i = 0,j = 0; i < size; i++)
{
if( i % 2 != 0)
{
temp[j] = str[i];
j++;
}
}
for(unsigned int k = 0; k < strlen(temp) - 100 ; k++)
{
for(j = 0; j < (strlen(temp) - k - 101); j++)
{
if(temp[j] < temp[j+1])
{
char t;
t = temp[j];
temp[j] = temp[j+1];
temp[j+1] = t;
}
}
}
for(i = 0,j = 0; i < size; i++)
{
if( i % 2 != 0)
{
str[i] = temp[j];
j++;
}
printf("%c ", str[i]);
}
return 0;
}
⑶ 怎樣用c語言編寫一段程序實現奇數和呢
首先,我們知道100以內的奇數為1、3、7……97、99,即從1開始依次增加2。
本題要求的是奇數和,即為sum=1+3+7+……+97+99
將變數i從1開始,依次賦值每一個奇數,直到不符合條件(i<=100),即到i=99停止循環。
將每一個i值依次累加,求得的和即為題目所求奇數和。
#include<stdio.h>
int main()
{
int i,sum=0; //定義兩個整型變數
{
for(i=1;i<=100;i=i+2) //變數i的for循環從1開始,直到99為止
sum=sum+i; //變數i累加
}
printf("1+3+--+99=%d
",sum); //輸出奇數和結果
return 0;
}
1、了解C語言
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。
2、奇數的定義
在整數中,不能被2整除的數叫做奇數。日常生活中,人們通常把奇數叫做單數,它跟偶數是相對的。奇數可以分為正奇數和負奇數。奇數的數學表達形式為:
正奇數:1、3、5、7、9、11、13、......
負奇數:-1、-3、-5、-7、-9、-11、-13......
3、其他用c語言求奇數和的程序
等差數列方法:
void main(){
int sum=(1+99)/2*50;
printf("%d",sum);
}
c語言_網路
奇數_網路
⑷ c語言從99遞減到0怎麼編程
#include<stdio.h>//包含用於輸入和輸出的函數的頭文件
//常見的輸入輸出函數有scanf及printf
intmain(){//程序入口:即程序從函數main這里進入,開始執行代碼
inti=99;//定義一個整數類型的變數i,賦予一個初始值:99
while(i>=0){//循環:當i是不小於0的數,就執行以下兩條語句
printf("i=%d ",i);
i--;
}
return0;
}
⑸ 求助:用VB編程,數據由兩邊向中間遞減
Private Sub Command1_Click()
Me.Cls
Dim n As Integer, c() As Integer, k As Integer, d() As Integer
For i = 0 To 4
n = n + Val(Text1(i).Text)
Next
ReDim c(n - 1) As Integer
ReDim d(n - 1) As Integer
k = 0
For i = 0 To 4
For j = 1 To Val(Text1(i).Text)
c(k) = Val(Combo1(i).Text)
Print c(k); Space(1);
k = k + 1
Next
Next
Print
For i = 0 To n - 1 '排序
For j = i + 1 To n - 1
If c(i) < c(j) Then
temp = c(i)
c(i) = c(j)
c(j) = temp
End If
Next j
Next i
If n Mod 2 <> 0 Then '判斷總數據數是奇數還是偶數
d(n \ 2) = c(n - 1) '如果是奇數數,將最中間的數值賦值為最小數
End If
For i = 0 To n \ 2 - 1
d(i) = c(i * 2)
d(n - i - 1) = c((i + 1) * 2 - 1)
Next
For i = 0 To n - 1
Print d(i); Space(1);
Next
End Sub
Private Sub Form_Load()
For i = 0 To 4
Combo1(i).AddItem "20"
Combo1(i).AddItem "40"
Combo1(i).AddItem "45"
Combo1(i).AddItem "50"
Combo1(i).AddItem "70"
Combo1(i).Text = Combo1(i).List(i)
Next
End Sub
⑹ 要實現從1到10遞增 再從10遞減到1 的循環 怎麼編程
剛寫了一個;
sum1為從1到10遞增和
sum2為從10到1遞減和
sum為總和。。
#include<stdio.h>
int main()
{
int i,sum1,sum2,sum;
sum1=sum2=0;
for(i=1;i<=10;i++)
sum1+=i;
for(i=10;i>=1;i--)
sum2+=i;
sum=sum1+sum2;
printf("sum1=%d\nsum2=%d\nsum=%d\n",sum1,sum2,sum);
return 0;
}