⑴ 建立一个数组 对其奇数项进行递增排序 偶数项进行递减排序
这个奇数项是数组元素的的个数为奇数,还是下标为奇数?下面是下标为奇数的情况#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;
}