08年11月份北大高级语言程序(c)上机源码

 

一:输入一个整数x,和正整数n,计算并输出x*(x-1)*(x-2)......(x-n+1)的值。

#include "stdio.h"

 

main() {
int x,n,i;

long xx;

/*输入两个整数*/
scanf("%d,%d",&x,&n);

 

xx=x;

for(i=0;i<n;i++)

xx*=(x-i); /*关键,累乘*/

printf("sum=%ld/n",xx);
}

 

 

二:输入n(n<100)个数,计算出从第1个......n-1个数中比n大,小和相等的数分别有多少个,并输出。

 

#include "stdio.h"

 

main() {
int a[100],max=0,min=0,equal=0,i=0,d,x;

 

/*输入n个数,已-1为结束标记*/
for(;;) {
scanf("%d",&d);
if(d==-1) break;
a[i] = d;
i++;
}

/*比较*/
for(x=0;x<i;x++) {
if(a[x]>i) max++;
else if(a[x]<i) min++;
else equal++;
}

printf("max=%d,min=%d,equal=%d",max,min,equal);

}

 

三:输入n(n<100)个学生成绩,包括学号(int),姓名(字符串)及两门课的成绩(float),以-1作为结束标记,

然后输入学号查询,如果存在,输出这个学生的姓名和两门课的成绩,否则,输出No

 

#include <stdio.h>

 

/*定义学生相关信息*/
struct student{
int num;
char name[30];
double yscore;
double sscore;
} stu[100];

 

 

main() {
double yuwen,shuxue; /*中间变量*/
int i=0,j,stuId,tmp;

 

/*输入n<100个学生信息,这有个地方得注意,就是输入浮点数的时候,

应该定义两个临时的浮点数,把这两个浮点数作为一个中间变量,

先把读入的数放入中间变量,然后再赋值给yscore,sscore,否则,

会出现scanf floating point formats not linked......类似错误

*/
for(;;) {
scanf("%d",&stu[i].num);
if(stu[i].num==-1) break;
scanf("%s %lf %lf",stu[i].name,&yuwen,&shuxue);
stu[i].yscore=yuwen;
stu[i].sscore=shuxue;
i++; /*统计输入的个数*/
}

 

printf("please enter student id/n");

 

/*输入查询的学生id号*/
scanf("%d",&stuId);

 

/*查询并输出*/
for(j=0;j<i;j++) {
if(stuId==stu[j].num) {
printf("name=%syuwen=%lfshuxue=%lf/n",stu[j].name,stu[j].yscore,stu[j].sscore);
} else {
printf("no");
}
}
}

 

 

四:执行e2.exe x y,其中x,y为两个无符号整型,参数间以空格隔开,输出它们的差(x-y);
如:e2.exe 12 82,输出-70

 

#include "stdio.h"
#include "stdlib.h"

 

main(int argc,char *argv[]) {
long result ;

 

/*关键strtoul*/

unsigned long int a = strtoul(argv[1],'/0',10);
unsigned long int b = strtoul(argv[2],'/0',10);

 

result = a-b;
printf("result is=%d/n,count is=%d",result,argc);
}

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值