當前位置:編程學習大全網 - 編程語言 - C語言題目,100分懸賞

C語言題目,100分懸賞

/*?

第壹題:已知某班N(〈=50)名學生進行了高數、英語和C語言等3門課考試,將3門課?

的成績以及計算3門課的總分存放於壹個二維數組中,將學生姓名存放在另壹個二維字?

符數組中,按總分(由高到低)將學生姓名排序並輸出排序結果(序號和姓名)。?

*/?

#include?"stdafx.h"?

#include?"stdio.h"?

struct?scoreInfo{?

int?scoreMath;?

int?scoreProC;?

int?scoreEng;?

int?scorSum;?

};?

struct?studentInfo{?

char?name[20];?

struct?scoreInfo?_scoreInfo;?

};?

void?inputInfo(struct?studentInfo?*stu,int?n)?

{?

int?i?=?0;?

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

{?

printf("第%d個學生的姓名:",i+1);?

gets(stu[i].name);?

printf("第%d個學生的數學成績:",i+1);?

scanf("%d",&stu[i]._scoreInfo.scoreMath);?

getchar();?

printf("第%d學生的C語言成績:",i+1);?

scanf("%d",&stu[i]._scoreInfo.scoreProC);?

getchar();?

printf("第%d個學生的英語成績:",i+1);?

scanf("%d",&stu[i]._scoreInfo.scoreEng);?

getchar();?

}?

printf("\n");?

}?

void?outputInfo(struct?studentInfo?*stu,int?n)?

{?

int?i?=?0;?

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

{?

stu[i]._scoreInfo.scorSum?=?stu[i]._scoreInfo.scoreEng?+?stu[i]._scoreInfo.scoreMath?

+?stu[i]._scoreInfo.scoreProC;?

}?

printf("姓名\t數學成績\tC語言成績\t英語成績\t總分\n");?

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

{?

printf("%s\t%d\t\t%d\t\t%d\t\t%d\n",stu[i].name,stu[i]._scoreInfo.scoreMath,?stu?

[i]._scoreInfo.scoreProC?

,stu[i]._scoreInfo.scoreEng,stu[i]._scoreInfo.scorSum);?

}?

}?

void?arry_max_to_min(struct?studentInfo?*stu,int?n)?

{?

int?indexi;?

int?indexj;?

struct?studentInfo?_temp;?

//?struct?stdentInfo?*ptemp;?

//?ptemp?=?stu;?

for?(indexi?=?0;?indexi?<?n;indexi++)?

{?

for?(indexj?=?indexi+1;?indexj?<?n;?indexj++)?

{?

if?(stu[indexi]._scoreInfo.scorSum?<?stu[indexj]._scoreInfo.scorSum)?

{?

_temp?=?stu[indexj];?

stu[indexj]?=?stu[indexi];?

stu[indexi]?=?_temp;?

}?

}?

}?

printf("總分從高到低排列:\n");?

for?(indexi?=?0?;?indexi?<?n;?indexi++)?

{?

printf("%s\t%d\t\t%d\t\t%d\t\t%d\n",stu[indexi].name,stu[indexi]._scoreInfo.scoreMath,?stu?

[indexi]._scoreInfo.scoreProC?

,stu[indexi]._scoreInfo.scoreEng,stu[indexi]._scoreInfo.scorSum);?

}?

}?

int?main()?

{?

int?studentNum;?

struct?studentInfo?stu[50];?

printf("輸入學生數:");?

scanf("%d",&studentNum);?

getchar();?

inputInfo(stu,studentNum);?

outputInfo(stu,studentNum);?

arry_max_to_min(stu,studentNum);?

return?0;?

}?

運行結果:?

輸入學生數:3?

第1個學生的姓名:Jack?

第1個學生的數學成績:89?

第1學生的C語言成績:86?

第1個學生的英語成績:96?

第2個學生的姓名:Tom?

第2個學生的數學成績:95?

第2學生的C語言成績:94?

第2個學生的英語成績:92?

第3個學生的姓名:Star?

第3個學生的數學成績:98?

第3學生的C語言成績:78?

第3個學生的英語成績:89?

姓名?數學成績?C語言成績?英語成績?總分?

Jack?89?86?96?271?

Tom?95?94?92?281?

Star?98?78?89?265?

總分從高到低排列:?

Tom?95?94?92?281?

Jack?89?86?96?271?

Star?98?78?89?265?

Press?any?key?to?continue?

/*?

第二題:編寫函數fun(char?s[?],?int?num[?]),其功能是統計字符串?s?中數字字符、大寫字母、?

小寫字母和空格字符的出現次數,統計結果存於num數組中。再設計main函數,調用fun函數,?

實現預期功能。?

*/?

#include?"stdafx.h"?

#include?"stdio.h"?

#include?"string.h"?

void?fun(char?*s,?int?*num)?

{?

int?length;?

int?index;?

int?sum_number?=?0;?

int?sum_char?=?0;?

int?sum_spac?=?0;?

int?sum_CHAR?=?0;?

length?=?strlen(s);?

for?(index?=?0;?index?<?length;?index++)?

{?

if?((*s?>=?'0')?&&?(*s?<=?'9')?)?

{?

sum_number++;?

}?

if?((*s?>=?'a')?&&?(*s?<?'z')?)?

{?

sum_char++;?

}?

if?((*s?>=?'A')?&&?(*s?<=?'Z')?)?

{?

sum_CHAR++;?

}?

if?(*s?==?0x20?)?

{?

sum_spac++;?

}?

s++;?

}?

num[0]?=?sum_number;?

num[1]?=?sum_CHAR;?

num[2]?=?sum_char;?

num[3]?=?sum_spac;?

}?

int?main()?

{?

char?testarry[50];?

int?num[4];//用來放數字num[0],num[1]大寫字母,num[2]小寫字母,num[3]空格數字的個數?

//num?=?(int?*)malloc(sizeof(int)?*?4);?

printf("請輸入字符串:");?

gets(testarry);?

fun(testarry,num);?

//?printf("%s",testarry);?

printf("數字的個數:%d\n大寫字母的個數:%d\n小寫字母的個數:%d\n空格數字的個數:%d\n",?

num[0],num[1],num[2],num[3]);?

return?0;?

}?

運行結果:?

請輸入字符串:12345?AFASDFE?74897?asfdasf?

數字的個數:10?

大寫字母的個數:7?

小寫字母的個數:7?

空格數字的個數:3?

Press?any?key?to?continue?

第三題:?

#include?"stdafx.h"?

#include?"stdio.h"?

int?main()?

{?

int?i;?

int?j;?

int?k;?

int?half?=?0;?

char?prin;?

prin?=?'A';?

for?(i?=?0;?i?<?26;?i++)?

{?

prin?=?'A';?

for?(j?=?26-i-1;j?>?0;?j--)?

{?

printf("?");?

}?

for?(k?=?1;?k<=?2*i+1?;k++)?

{?

half?=?k;?

if?(--half?<=?i)?

{?

printf("%c",prin++);?

}?

else?

{?

printf("%c",--prin?-?1);?

}?

}?

printf("\n");?

}?

return?0;?

}?

運行結果:?

A?

ABA?

ABCBA?

ABCDCBA?

ABCDEDCBA?

ABCDEFEDCBA?

ABCDEFGFEDCBA?

ABCDEFGHGFEDCBA?

ABCDEFGHIHGFEDCBA?

ABCDEFGHIJIHGFEDCBA?

ABCDEFGHIJKJIHGFEDCBA?

ABCDEFGHIJKLKJIHGFEDCBA?

ABCDEFGHIJKLMLKJIHGFEDCBA?

ABCDEFGHIJKLMNMLKJIHGFEDCBA?

ABCDEFGHIJKLMNONMLKJIHGFEDCBA?

ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA?

ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA?

ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA?

Press?any?key?to?continue?

[附加說明:]由於百度在欄目裏屏蔽了空格和TAB,所以看不出效果,把

需要的話妳可以把Email給我?我發給妳。打印效果這個上面看不出來。呵呵

Press?any?key?to?continue

  • 上一篇:循環流化床鍋爐DCS控制系統介紹?
  • 下一篇:加速踏板位置怎樣初始化
  • copyright 2024編程學習大全網