重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
#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;
}