本文目录
c语言 编程
#include 《stdio.h》
int main()
{
unsigned long birth;
char name;
float age;
scanf("%lu %s %f",&birth,name,&age);
printf("%lu %s %f",birth,name,age);
return 0;
}
c语言简单程序编写
#include《stdio.h》
int main()
{
double num1, num2, result, re;
char sign, euq;
printf("Enter an expression: ");
while(scanf("%lf%c%lf%c%lf", &num1,&sign,&num2,&euq,&result) == 5)
{
switch(sign)
{
case ’+’:
re = num1 + num2;
break;
case ’-’:
re = num1 - num2;
break;
case ’*’:
re = num1 * num2;
break;
case ’/’:
if(num2 != 0)
re = num1 / num2;
break;
}
if( re == result)
printf("Perfect.\n");
else
printf("Error\n");
printf("Enter an expression: ");
}
return 0;
}
简单c语言编程题
根据题意,程序分三个主要功能:1、从数组中查找一个整数。2、向数组插入一个整数。3、数组升序排列。
一、其中查找功能,数组无序或升序对应二种写法(直接遍历比较、二分法)。
对于升序数组用二分法查找更快(本案例只有10个数,如数字量大则效果更明显)。
二、数组插入功能,将插入位置及其往后的元素均后移一位(数组大小需多预留1位)。
另外:重复的代码段要写成独立函数,避免代码冗余。
下面是代码(数值我用的随机数填充,你想手动输入自添scanf函数):
#include 《stdio.h》
#include 《stdlib.h》
#include 《time.h》
#define M 10//最大整数个数
void input(int nums,int len);//输入
void showNum(int nums,int len);// 打印数组
void px(int nums,int len);//排序
int checkNum(int nums,int len,int n);//检查n是否存在于无序数组num,是返回下标,否将n插入数组并返回-1。
int checkNumPX(int nums,int len,int n);//检查n是否存在于升序数组num,是返回下标,否将n插入对应位置并返回-1。
void move1(int nums,int len,int inx);//从下标inx开始的元素,全部往后移动1位(inx下标空出来给插入)
int main()
{
int nums,len=M+1,inx,n;//预留一位给插入
srand(time(NULL));
input(nums,len-1);
showNum(nums,len-1);
printf("请输入要查找的数n:"),scanf("%d",&n);
inx=checkNum(nums,len-1,n);
if(inx!=-1) printf("存在!下标是%d\n",inx);
if(inx==-1) printf("不存在!已在数组末尾插入,插入后的数组为:\n"),showNum(nums,len);
printf("\n-----------------------下面是问题2-------------------------------\n");
input(nums,len-1);
px(nums,len);
showNum(nums,len-1);
printf("请输入要查找的数n:"),scanf("%d",&n);
inx=checkNumPX(nums,len-1,n);
if(inx!=-1) printf("存在!下标是%d\n",inx);
if(inx==-1) printf("不存在!已在插入数组对应的位置\n"),showNum(nums,len);
return 0;
}
void input(int nums,int len)
{
int i;
for(i=0,printf("生成%d个2位随机整数......\n",len);i《len;nums=rand()%90+10,i++);//10~99随机数
}
void showNum(int nums,int len)
{
int i;
for(i=0,printf("当前数组元素为:\n");i《len;printf("%d ",nums),i++);
printf("\n");
}
void px(int nums,int len)
{
int i,j;
for(i=0,printf("对数组进行升序排序......\n");i《len;i++)
for(j=i+1;j《len;j++)
if(nums;
}
int checkNum(int nums,int len,int n)
{
int i;
for(i=0,printf("数组中按元素顺序查找%d......\n",n);i《len;i++)
if(nums==n) return i;
if(i==len) nums=n;
return -1;
}
int checkNumPX(int nums,int len,int n)
{
int bInx=0,eInx=len-1,mInx;
printf("对升序数组按二分法查找%d......\n",n);
while(eInx-bInx》1)//当序列区间元素大于2个时,取中间值
{
mInx=bInx+(eInx-bInx)/2;
if(nums==n) return mInx;
if(n《nums) eInx=mInx;//n比中间值小,取前半区间中间继续比较
if(n》nums) bInx=mInx;//n比中间值大,取后半区间中间继续比较
}
if(nums==n) return eInx;
if(nums==n) return bInx;
if(n《nums=n;
if(n》nums=n;
if(n》nums=n;
return -1;
}
void move1(int nums,int len,int inx)
{
int i;
for(i=len-1;i》inx;nums,i--);
}
一个简单的C语言程序,可以正常运行的
#include《stdio.h》int main(){int a,i,j,sum=0;double eavg;int b,temp;printf("请输入5个正整数\n");for(i=0;i《5;i++){scanf("%d",&b);sum+=b;}for(j=0;j《4;j++)for(i=0;i《4-j;i++)if(b){ temp=b;b;b=temp;}printf("1,求和\n2,求平均值\n3,查询最大值\n4,查询最小值\n");scanf("%d",&a);switch(a){case 1:printf("累计和%d\n",sum);break;case 2:eavg=(double)sum/5;printf("平均值为%f\n",eavg);break;case 3:printf("数组中最大值为%d\n",b);break;case 4:printf("数组中最小值为%d\n",b);break;}for(i=0;i《5;i++)printf("%d ",b);return 0;}