本文目錄一覽:
- 1、求一個簡單100行c語言程序,一定要原創
- 2、c語言必背100代碼有哪些?
- 3、跪求100行左右的c語言簡單代碼,大一水平就行,什麼類型都可以。
- 4、c語言必背代碼有哪些?
- 5、c語言100行簡單一點的代碼
求一個簡單100行c語言程序,一定要原創
答案voidmain(){intsele=1,t;floatx;system(“cls”);printf(“歡迎使用簡易菜單!本菜單在VC++平台編譯通過\n”);printf(“有何建議請聯繫本人!\n”);printf(“成績管理菜單\n”);printf(“\n”);printf(“1.輸入成績2.計算總分3.求平均值4.輸出總分與平均5.清理屏幕6.高低排列7.上平均分人數0.退出8.全部情況:總分平均分第一名及格人數”);scanf(“%d”,sele);puts(“”);if(sele=0sele1.輸入成績2.計算總分3.求平均值4.輸出總分與平均5.清理屏幕6.高低排列7.上平均分人數0.退出8.全部情況:總分平均分第一名及格人數\n”);break;case6:gaodi(a);break;case7:super(a);break;case8:full(t,x);break;}elseprintf(“你的輸入有誤,請重新:”);}
c語言必背100代碼有哪些?
/*輸出9*9口訣。共9行9列,i控制行,j控制列。*/
#include “stdio.h”
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左對齊,佔3位*/
}
printf(“\n”);/*每一行後換行*/
}
}
擴展資料:
C語言的字元串其實就是以’\0’字元結尾的char型數組,使用字元型並不需要引用庫,但是使用字元串就需要C標準庫裡面的一些用於對字元串進行操作的函數。它們不同於字元數組。使用這些函數需要引用頭文件string.h。
文件輸入/輸出
在C語言中,輸入和輸出是經由標準庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件stdio.h;中。
標準輸入/輸出
有三個標準輸入/輸出是標準I/O庫預先定義的:
stdin標準輸入
stdout標準輸出
stderr輸入輸出錯誤
參考資料來源:百度百科-c語言
跪求100行左右的c語言簡單代碼,大一水平就行,什麼類型都可以。
//學生成績管理系統C代碼
/*頭文件*/
#include stdio.h
#includedos.h
#includestdlib.h /*其它說明*/
#includestring.h /*字元串函數*/
#includemem.h /*內存操作函數*/
#includectype.h /*字元操作函數*/
#includealloc.h /*動態地址分配函數*/
#define LEN sizeof(STUDENT)
typedef struct stu /*定義結構體數組用於緩存數據*/
{
char num[6];
char name[5];
int score[3];
int sum;
float average;
int order;
struct stu *next;
}STUDENT;
/*函數原型*/
STUDENT *init(); /*初始化函數*/
int menu_select(); /*菜單函數*/
STUDENT *create(); /*創建鏈表*/
void print(STUDENT *head); /* 顯示全部記錄*/
void search(STUDENT *head); /*查找記錄*/
STUDENT *delete(STUDENT *head); /*刪除記錄*/
STUDENT *sort(STUDENT *head); /*排序*/
STUDENT *insert(STUDENT *head,STUDENT *newnode); /*插入記錄*/
void save(STUDENT *head); /*保存文件*/
STUDENT *load(); /*讀文件*/
/*主函數界面*/
main()
{
STUDENT *head,newnode;
head=init(); /*鏈表初始化,使head的值為NULL*/
for(;;) /*循環無限次*/
{
switch(menu_select())
{
case 1:head=create();break;
case 2:print(head);break;
case 3:search(head);break;
case 4:head=delete(head);break;
case 5:head=sort(head);break;
case 6:head=insert(head,newnode);break; /*newnode表示返回地址*/
case 7:save(head);break;
case 8:head=load(); break;
case 9:exit(0); /*如菜單返回值為9則程序結束*/
}
}
}
/*初始化函數*/
STUDENT *init()
{
return NULL; /*返回空指針*/
}
/*菜單選擇函數*/
menu_select()
{
int n;
struct date d; /*定義時間結構體*/
getdate(d); /*讀取系統日期並把它放到結構體d中*/
printf(“press any key to enter the menu……”); /*按任一鍵進入主菜單*/
getch(); /*從鍵盤讀取一個字元,但不顯示於屏幕*/
clrscr(); /*清屏*/
printf(“********************************************************************************\n”);
printf(“\t\t Welcome to\n”);
printf(“\n\t\t The student score manage system\n”);
printf(“*************************************MENU***************************************\n”);
printf(“\t\t\t1. Enter the record\n”); /*輸入學生成績記錄*/
printf(“\t\t\t2. Print the record\n”); /*顯示*/
printf(“\t\t\t3. Search record on name\n”); /*尋找*/
printf(“\t\t\t4. Delete a record\n”); /*刪除*/
printf(“\t\t\t5. Sort to make new a file\n”); /*排序*/
printf(“\t\t\t6. Insert record to list\n”); /*插入*/
printf(“\t\t\t7. Save the file\n”); /*保存*/
printf(“\t\t\t8. Load the file\n”); /*讀取*/
printf(“\t\t\t9. Quit\n”); /*退出*/
printf(“\n\t\t Made by Hu Haihong.\n”);
printf(“********************************************************************************\n”);
printf(“\t\t\t\t%d\\%d\\%d\n”,d.da_year,d.da_mon,d.da_day); /*顯示當前系統日期*/
do{
printf(“\n\t\t\tEnter your choice(1~9):”);
scanf(“%d”,n);
}while(n1||n9); /*如果選擇項不在1~9之間則重輸*/
return(n); /*返回選擇項,主函數根據該數調用相應的函數*/
}
/*輸入函數*/
STUDENT *create()
{
int i,s;
STUDENT *head=NULL,*p; /* 定義函數.此函數帶回一個指向鏈表頭的指針*/
clrscr();
for(;;)
{p=(STUDENT *)malloc(LEN); /*開闢一個新的單元*/
if(!p) /*如果指針p為空*/
{printf(“\nOut of memory.”); /*輸出內存溢出*/
return (head); /*返回頭指針,下同*/
}
printf(“Enter the num(0:list end):”);
scanf(“%s”,p-num);
if(p-num[0]==’0′) break; /*如果學號首字元為0則結束輸入*/
printf(“Enter the name:”);
scanf(“%s”,p-name);
printf(“Please enter the %d scores\n”,3); /*提示開始輸入成績*/
s=0; /*計算每個學生的總分,初值為0*/
for(i=0;i3;i++) /*3門課程循環3次*/
{
do{
printf(“score%d:”,i+1);
scanf(“%d”,p-score[i]);
if(p-score[i]0 || p-score[i]100) /*確保成績在0~100之間*/
printf(“Data error,please enter again.\n”);
}while(p-score[i]0 || p-score[i]100);
s=s+p-score[i]; /*累加各門成績*/
}
p-sum=s; /*將總分保存*/
p-average=(float)s/3; /*先用強制類型轉換將s轉換成float型,再求平均值*/
p-order=0; /*未排序前此值為0*/
p-next=head; /*將頭結點做為新輸入結點的後繼結點*/
head=p; /*新輸入結點為新的頭結點*/
}
return(head);
}
/* 顯示全部記錄函數*/
void print(STUDENT *head)
{
int i=0; /* 統計記錄條數*/
STUDENT *p; /*移動指針*/
clrscr();
p=head; /*初值為頭指針*/
printf(“\n************************************STUDENT************************************\n”);
printf(“——————————————————————————-\n”);
printf(“| Rec | Num | Name | Sc1 | Sc2 | Sc3 | Sum | Ave | Order |\n”);
printf(“——————————————————————————-\n”);
while(p!=NULL)
{
i++;
printf(“| %3d | %4s | %-4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n”,
i, p-num,p-name,p-score[0],p-score[1],p-score[2],p-sum,p-average,p-order);
p=p-next;
}
printf(“——————————————————————————-\n”);
printf(“**************************************END**************************************\n”);
}
/*查找記錄函數*/
void search(STUDENT *head)
{
STUDENT *p; /* 移動指針*/
char s[5]; /*存放姓名用的字元數組*/
clrscr();
printf(“Please enter name for searching.\n”);
scanf(“%s”,s);
p=head; /*將頭指針賦給p*/
while(strcmp(p-name,s) p != NULL) /*當記錄的姓名不是要找的,或指針不為空時*/
p=p-next; /*移動指針,指向下一結點*/
if(p!=NULL) /*如果指針不為空*/
{printf(“\n*************************************FOUND************************************\n”);
printf(“——————————————————————————-\n”);
printf(“| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order |\n”);
printf(“——————————————————————————-\n”);
printf(“| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n”,
p-num,p-name,p-score[0],p-score[1],p-score[2],p-sum,p-average,p-order);
printf(“——————————————————————————-\n”);
printf(“***************************************END**************************************\n”);
}
else
printf(“\nThere is no num %s student on the list.\n”,s); /*顯示沒有該學生*/
}
/*刪除記錄函數*/
STUDENT *delete(STUDENT *head)
{int n;
STUDENT *p1,*p2; /*p1為查找到要刪除的結點指針,p2為其前驅指針*/
char c,s[6]; /*s[6]用來存放學號,c用來輸入字母*/
clrscr();
printf(“Please enter the deleted num: “);
scanf(“%s”,s);
p1=p2=head; /*給p1和p2賦初值頭指針*/
while(strcmp(p1-num,s) p1 != NULL) /*當記錄的學號不是要找的,或指針不為空時*/
{p2=p1; /*將p1指針值賦給p2作為p1的前驅指針*/
p1=p1-next; /*將p1指針指向下一條記錄*/
}
if(strcmp(p1-num,s)==0) /*學號找到了*/
{printf(“**************************************FOUND************************************\n”);
printf(“——————————————————————————-\n”);
printf(“| Num | Name | sc1 | sc2 | sc3 | Sum | Ave | Order |\n”);
printf(“——————————————————————————-\n”);
printf(“| %4s | %4s | %3d | %3d | %3d | %3d | %4.2f | %-5d|\n”,
p1-num,p1-name,p1-score[0],p1-score[1],p1-score[2],p1-sum,p1-average,p1-order);
printf(“——————————————————————————-\n”);
printf(“***************************************END**************************************\n”);
printf(“Are you sure to delete the student Y/N ?”); /*提示是否要刪除,輸入Y刪除,N則退出*/
for(;;)
{scanf(“%c”,c);
if(c==’n’||c==’N’) break; /*如果不刪除,則跳出本循環*/
if(c==’y’||c==’Y’)
{
if(p1==head) /*若p1==head,說明被刪結點是首結點*/
head=p1-next; /*把第二個結點地址賦予head*/
else
p2-next=p1-next; /*否則將一下結點地址賦給前一結點地址*/
n=n-1;
printf(“\nNum %s student have been deleted.\n”,s);
printf(“Don’t forget to save.\n”);break; /*刪除後就跳出循環*/
}
}
}
else
printf(“\nThere is no num %s student on the list.\n”,s); /*找不到該結點*/
return(head);
}
/*排序函數*/
STUDENT *sort(STUDENT *head)
{int i=0; /*保存名次*/
STUDENT *p1,*p2,*t,*temp; /*定義臨時指針*/
temp=head-next; /*將原表的頭指針所指的下一個結點作頭指針*/
head-next=NULL; /*第一個結點為新表的頭結點*/
while(temp!=NULL) /*當原表不為空時,進行排序*/
{
t=temp; /*取原表的頭結點*/
temp=temp-next; /*原表頭結點指針後移*/
p1=head; /*設定移動指針p1,從頭指針開始*/
p2=head; /*設定移動指針p2做為p1的前驅,初值為頭指針*/
while(t-averagep1-averagep1!=NULL) /*作成績平均分比較*/
{
p2=p1; /*待排序點值小,則新表指針後移*/
p1=p1-next;
}
if(p1==p2) /*p1==p2,說明待排序點值大,應排在首位*/
{
t-next=p1; /*待排序點的後繼為p*/
head=t; /*新頭結點為待排序點*/
}
else /*待排序點應插入在中間某個位置p2和p1之間,如p為空則是尾部*/
{
t-next=p1; /*t的後繼是p1*/
p2-next=t; /*p2的後繼是t*/
}
}
p1=head; /*已排好序的頭指針賦給p1,準備填寫名次*/
while(p1!=NULL) /*當p1不為空時,進行下列操作*/
{
i++; /*結點序號*/
p1-order=i; /*將結點序號賦值給名次*/
p1=p1-next; /*指針後移*/
}
printf(“Sorting is sucessful.\n”); /*排序成功*/
return (head);
}
/*插入記錄函數*/
STUDENT *insert(STUDENT *head,STUDENT *newnode)
{STUDENT *p0,*p1,*p2;
int n,sum1,i;
p1=head; /*使p1指向第一個結點*/
p0=newnode; /*p0指向要插入的結點*/
printf(“\nPlease enter a newnode record.\n”); /*提示輸入記錄信息*/
printf(“Enter the num:”);
scanf(“%s”,newnode-num);
printf(“Enter the name:”);
scanf(“%s”,newnode-name);
printf(“Please enter the %d scores.\n”,3);
sum1=0; /*保存新記錄的總分,初值為0*/
for(i=0;i3;i++)
{
do{
printf(“score%d:”,i+1);
scanf(“%d”,newnode-score[i]);
if(newnode-score[i]100||newnode-score[i]0)
printf(“Data error,please enter again.\n”);
}while(newnode-score[i]100||newnode-score[i]0);
sum1=sum1+newnode-score[i]; /*累加各門成績*/
}
newnode-sum=sum1; /*將總分存入新記錄中*/
newnode-average=(float)sum1/3;
newnode-order=0;
if(head==NULL) /*原來的鏈表是空表*/
{head=p0;p0-next=NULL;} /*使p0指向的結點作為頭結點*/
else
{while((p0-averagep1-average)(p1-next!=NULL))
{p2=p1; /*使p2指向剛才p1指向的結點*/
p1=p1-next; /*p1後移一個結點*/
}
if(p0-average=p1-average)
{if(head==p1)head=p0; /*插到原來第一個結點之前*/
else p2-next=p0; /*插到p2指向的結點之後*/
p0-next=p1;}
else
{p1-next=p0;p0-next=NULL;} /*插到最後的結點之後*/
}
n=n+1; /*結點數加1*/
head=sort(head); /*調用排序的函數,將學生成績重新排序*/
printf(“\nStudent %s have been inserted.\n”,newnode-name);
printf(“Don’t forget to save the newnode file.\n”);
return(head);
}
/*保存數據到文件函數*/
void save(STUDENT *head)
{FILE *fp; /*定義指向文件的指針*/
STUDENT *p; /* 定義移動指針*/
char outfile[10];
printf(“Enter outfile name,for example c:\\score\n”);
scanf(“%s”,outfile);
if((fp=fopen(outfile,”wb”))==NULL) /*為輸出打開一個二進位文件,為只寫方式*/
{
printf(“Cannot open the file\n”);
return; /*若打不開則返回菜單*/
}
printf(“\nSaving the file……\n”);
p=head; /*移動指針從頭指針開始*/
while(p!=NULL) /*如p不為空*/
{
fwrite(p,LEN,1,fp); /*寫入一條記錄*/
p=p-next; /*指針後移*/
}
fclose(fp); /*關閉文件*/
printf(“Save the file successfully!\n”);
}
/* 從文件讀數據函數*/
STUDENT *load()
{STUDENT *p1,*p2,*head=NULL; /*定義記錄指針變數*/
FILE *fp; /* 定義指向文件的指針*/
char infile[10];
printf(“Enter infile name,for example c:\\score\n”);
scanf(“%s”,infile);
if((fp=fopen(infile,”rb”))==NULL) /*打開一個二進位文件,為只讀方式*/
{
printf(“Can not open the file.\n”);
return(head);
}
printf(“\nLoading the file!\n”);
p1=(STUDENT *)malloc(LEN); /*開闢一個新單元*/
if(!p1)
{
printf(“Out of memory!\n”);
return(head);
}
head=p1; /*申請到空間,將其作為頭指針*/
while(!feof(fp)) /*循環讀數據直到文件尾結束*/
{
if(fread(p1,LEN,1,fp)!=1) break; /*如果沒讀到數據,跳出循環*/
p1-next=(STUDENT *)malloc(LEN); /*為下一個結點開闢空間*/
if(!p1-next)
{
printf(“Out of memory!\n”);
return (head);
}
p2=p1; /*使p2指向剛才p1指向的結點*/
p1=p1-next; /*指針後移,新讀入數據鏈到當前表尾*/
}
p2-next=NULL; /*最後一個結點的後繼指針為空*/
fclose(fp);
printf(“You have success to read data from the file!\n”);
return (head);
}
c語言必背代碼有哪些?
1、/*輸出9*9口訣。共9行9列,i控制行,j控制列。*/
#include “stdio.h”
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左對齊,佔3位*/
}
printf(“\n”);/*每一行後換行*/
}
}
2、/*古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
兔子的規律為數列1,1,2,3,5,8,13,21….*/
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i=20;i++)
{ printf(“%12ld %12ld”,f1,f2);
if(i%2==0) printf(“\n”);/*控制輸出,每行四個*/
f1=f1+f2; /*前兩個月加起來賦值給第三個月*/
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/
}
}
3、/*判斷101-200之間有多少個素數,並輸出所有素數及素數的個數。
程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,
則表明此數不是素數,反之是素數。*/
#include “math.h”
main()
{
int m,i,k,h=0,leap=1;
printf(“\n”);
for(m=101;m=200;m++)
{ k=sqrt(m+1);
for(i=2;i=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) /*內循環結束後,leap依然為1,則m是素數*/
{printf(“%-4d”,m);h++;
if(h%10==0)
printf(“\n”);
}
leap=1;
}
printf(“\nThe total is %d”,h);
}
4、/*一個數如果恰好等於它的因子之和,這個數就稱為”完數”。例如6=1+2+3.編程
找出1000以內的所有完數。*/
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j1000;j++)
{
n=-1;
s=j;
for(i=1;ij;i++)
{if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{printf(“%d is a wanshu: “,j);
for(i=0;in;i++)
printf(“%d,”,k[i]);
printf(“%d\n”,k[n]);
}
}
}
5、/*下面程序的功能是將一個4×4的數組進行逆時針旋轉90度後輸出,要求原始數組的數據隨機輸入,新數組以4行4列的方式輸出,
請在空白處完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存放原始數組數據,b存放旋轉後數組數據*/
printf(“input 16 numbers: “);
/*輸入一組數據存放到數組a中,然後旋轉存放到b數組中*/
for(i=0;i4;i++)
for(j=0;j4;j++)
{ scanf(“%d”,a[i][j]);
b[3-j][i]=a[i][j];
}
printf(“array b:\n”);
for(i=0;i4;i++)
{ for(j=0;j4;j++)
printf(“%6d”,b[i][j]);
printf(“\n”);
}
}
6、/*編程列印直角楊輝三角形*/
main()
{int i,j,a[6][6];
for(i=0;i=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i=2;i=5;i++)
for(j=1;j=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i=5;i++)
{for(j=0;j=i;j++)
printf(“%4d”,a[i][j]);
printf(“\n”);}
}
7、/*通過鍵盤輸入3名學生4門課程的成績,
分別求每個學生的平均成績和每門課程的平均成績。
要求所有成績均放入一個4行5列的數組中,輸入時同一人數據間用空格,不同人用回車
其中最後一列和最後一行分別放每個學生的平均成績、每門課程的平均成績及班級總平均分。*/
#include stdio.h
#include stdlib.h
main()
{ float a[4][5],sum1,sum2;
int i,j;
for(i=0;i3;i++)
for(j=0;j4;j++)
scanf(“%f”,a[i][j]);
for(i=0;i3;i++)
{ sum1=0;
for(j=0;j4;j++)
sum1+=a[i][j];
a[i][4]=sum1/4;
}
c語言100行簡單一點的代碼
登錄幼兒園200個小朋友的數據:姓名、性別、年齡、身高、體重、出生日期,分別按年齡排序後輸出。
#includestdio.h
#define N 200
struct child
{
char name[10];
char sex[3];
int age;
int height;
float weight;
struct {
int year;
int month;
int day;
}bdate;
}ch[N];
void input()
{
int i;
for(i=0;iN;i++)
{
printf(“\n請輸入第%d名小朋友信息:\n”,i+1);
printf(“姓名:”);
scanf(“%s”,ch[i].name);
printf(“性別:”);
scanf(“%s”,ch[i].sex);
printf(“年齡:”);
scanf(“%d”,ch[i].age);
printf(“身高:”);
scanf(“%d”,ch[i].height);
printf(“體重:”);
scanf(“%f”,ch[i].weight);
printf(“出生日期[YYYY-MM-DD]:”);
scanf(“%d-%d-%d”,ch[i].bdate.year,ch[i].bdate.month,ch[i].bdate.day);
}
}
void sort()
{
struct child ct;
int i,j;
for(i=0;iN-1;i++)
for(j=0;jN-i-1;j++)
if(ch[j].heightch[j+1].height)
{
ct=ch[j];
ch[j]=ch[j+1];
ch[j+1]=ct;
}
}
void output()
{
int i;
printf(“\n\t幼兒園小朋友一覽(依身高排序)\n”);
printf(“===================================================\n”);
printf(” 姓名 性別 年齡 身高 體重 出生日期 \n”);
printf(“===================================================\n”);
for(i=0;iN;i++)
printf(” %-8s %-2s %2d %d %3.1f %d.%d.%d\n”,ch[i].name,ch[i].sex,ch[i].age,ch[i].height,ch[i].weight,ch[i].bdate.year,ch[i].bdate.month,ch[i].bdate.day);
}
void main()
{
input();
sort();
output();
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277757.html