#include stdio.h
我们提供的服务有:成都做网站、成都网站建设、微信公众号开发、网站优化、网站认证、海兴ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的海兴网站制作公司
#define STUDENTNUM 10
/* 由于学号只有9个数字,一个long型的整数就可以表示 */
/* 成绩只是0~100之间,一个char就可以表示了 */
struct student
{
long xh;
char dxyy;
char cyycxsj;
char jsjdl;
} students[STUDENTNUM];
int ResearchStu(long xh);
/* 从文件读取学生成绩,如果文件不存在,需要手工输入成绩 */
/* 成绩数值必须在0~100之间。*/
void init()
{
int i, tmp, err;
FILE * fp = fopen("cj.dat", "rb");
if(fp) fread(students, STUDENTNUM, sizeof(struct student), fp);
else
{
for(i=0; iSTUDENTNUM; i++)
{
err = 0;
printf("请输入学号:");
scanf("%ld", students[i].xh);
printf("请输入大学英语成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].dxyy = (char)tmp;
else err = 1;
printf("请输入C语言程序设计成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].cyycxsj = (char)tmp;
else err = 1;
printf("请输入计算机导论成绩:");
scanf("%d", tmp);
if(0 = tmp tmp = 100) students[i].cyycxsj = (char)tmp;
else err = 1;
if(err)
{
printf("成绩输入错误,需要重新输入!\n");
i--;
}
}
}
}
void main()
{
long xh, pos;
init();
scanf("%ld", xh);
pos = ResearchStu(xh);
if(pos == -1) printf("查无此人!");
else
{
printf("%d\t大学英语\t%d分\n", students[pos].xh, students[pos].dxyy);
printf("%d\tC语言程序设计\t%d分\n", students[pos].xh, students[pos].cyycxsj);
printf("%d\t计算机导论\t%d分\n", students[pos].xh, students[pos].jsjdl);
}
}
int ResearchStu(long xh)
{
int i;
for(i=0; iSTUDENTNUM; i++) if(students[i].xh == xh) return i;
return -1;
}
#include stdio.h
int calc(int n)
{
if (0 == n || 1 == n)
{
return 1;
}
return n * calc(n -1);
}
void main()
{
int n = 0;
printf("请输入n的值:\n");
scanf("%d", n);
double s = 0;
for (int i = 1; i = n; i++)
{
//这里要注意下,需要转成浮点型相除,否则结果永远是0
s = 1.0/calc(n);
}
printf("s = %lf\n", s);
}
运行结果:
typedef struct {
int y;
int m;
int d;
}Date;
void pre_date(Date* s, Date* p) {
*p = *s;
if (p-d 1) {
p-d--;
return;
}
p-m--;
switch (p-m) {
case 0:
p-y--;
p-m = 12;
case 1: case 3: case 5: case 7: case 8: case 10:
p-d = 31;
break;
case 2:
p-d = 28;
if (((p-y % 4 == 0)) !(p-y %100 == 0 p-y % 400 != 0))
p-d++;
break;
case 4: case 6: case 9: case 11:
p-d = 30;
break;
}
}
void get_date(char*s , Date* d) {
const char fmt[] = "YYYYMMDD";
const char* m = fmt;
d-y = d-m = d-d = 0;
while (*s) {
int *c;
switch (*m) {
case 'Y': c = d-y;break;
case 'M': c = d-m;break;
case 'D': c = d-d;break;
}
*c = *c * 10 + (*s - '0');
m++;
s++;
}
}
int main() {
char str[512];
Date d1, d2;
gets(str);
get_date(str, d1);
pre_date(d1, d2);
printf("%d-%02d-%02d", d2.y, d2.m, d2.d);
return 0;
}
题目1:
使用if多分支结构:
c
#includestdio.h
int main()
{
int score;
printf("请输入学生的成绩:\n");
scanf("%d", score);
if(score=90 score=99){
printf("学生的成绩等级为A\n");
}else if(score=80 score=89){
printf("学生的成绩等级为B\n");
}else if(score=70 score=79){
printf("学生的成绩等级为C\n");
}else if(score=60 score=69){
printf("学生的成绩等级为D\n");
}else if(score=0 score=59){
printf("学生的成绩等级为E\n");
}else{
printf("输入的成绩不合法\n");
}
return 0;
}
使用switch多分支结构:
c
#includestdio.h
int main()
{
int score;
printf("请输入学生的成绩:\n");
scanf("%d", score);
switch(score/10){
case 10:
case 9:
printf("学生的成绩等级为A\n");
break;
case 8:
printf("学生的成绩等级为B\n");
break;
case 7:
printf("学生的成绩等级为C\n");
break;
case 6:
printf("学生的成绩等级为D\n");
break;
default:
if(score=0 score=59){
printf("学生的成绩等级为E\n");
}else{
printf("输入的成绩不合法\n");
}
break;
}
return 0;
}
题目2:
c
#includestdio.h
#includemath.h
int is_prime(int num)
{
int i;
for(i=2; i=sqrt(num); i++){
if(num%i == 0){
return 0;
}
}
return 1;
}
int main()
{
int num;
printf("请输入一个整数:\n");
scanf("%d", num);
if(is_prime(num)){
printf("%d是素数\n", num);
}else{
printf("%d不是素数\n", num);
}
return 0;
}
题目3:
c
#includestdio.h
#define N 5
int main()
{
int arr[N];
int i, temp;
printf("请输入%d个数:\n", N);
for(i=0; iN; i++){
scanf("%d", arr[i]);
}
for(i=0; iN/2; i++){
temp = arr[i];
arr[i] = arr[N-1-i];
arr[N-1-i] = temp;
}
printf("逆序输出数组:");
for(i=0; iN; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}