第12次作业
1、定義結構體類型student,要求其中包括學號,姓名,年齡,性別,電話,系別,成績等信息。
#include<stdio.h> struct student {char sno[10];char name[20];char sex[10];char phone[20];int age; }; int main() {student s1={"160809314","liuziye","?","13716445586", 19};printf("%s\n%s\n%s\n%s\n%d\n",s1.sno,s1.name,s1.sex,s1.phone,s1.age);return 0; }2、用fscanf和fprintf語句實現將input.txt文件中存儲的學生信息復制到output.txt文件中。
#include<stdio.h> #include<stdlib.h> struct student {char sno[10];char sname[20];int age; }; int main() {int i;student class3[31];FILE *fp=fopen("d:\\input.txt","r");fscanf(fp,"%s%s%d",class3[i].sno,class3[i].sname,&class3[i].age);printf("%s\n %s\n %d\n",class3[i].sno,class3[i].sname,class3[i].age);return 0; }3、實現課上講解的”學生管理系統“中第一個菜單“”添加學生信息“”模塊的功能,即當用戶選擇“添加學生信息”菜單時,提示用戶輸入學生的學號、姓名、年齡等信息,并將輸入的信息添加到student.txt文件中。
#include<stdio.h> struct student {char sno[20];char name[10];int age; } void add() {studnt class3;char i;FILE *fp=fopen("d:\\student.txt","a+");printf("請輸入學號:");scanf("%s",class3.sno);printf("請輸入姓名:");scanf("%s",class3.name);printf("請輸入年齡:");scanf("%d",&class3.age);fprintf(fp,"%s %s %d\n",class3.sno,class3.name,class3.age);printf("學生信息填寫成功,是否繼續填寫:");scanf("%s",&i);do{printf("請輸入學號:");scanf("%s",class3.sno);printf("請輸入姓名:");scanf("%s",class3.name);printf("請輸入年齡:");scanf("%d",&class3.age);fprintf(fp,"%s %s %d\n",class3.sno,class3.name,class3.age);printf("學生信息填寫成功,是否繼續填寫:(yes/no)");scanf("%s",&i);}while(i=='yes'); } int main() {printf("學生管理系統");printf("1、填寫學生信息");printf("2、其他");int j;if(j==1)add();return 0; }因為上節課沒有去,所以這次作業是通過問同學、看老師上課的照片寫的。第二題和第三題有錯誤,只是我不明白。
——————————————————————————————————————-------------------上周的作業補交———————————————————————————————————————————————————————————————
1.定義函數void sum(int *p)實現對給定數組a中所有元素求和并打印輸出求和結果。
#include<stdio.h>//求和 void sum(int *p) {int a[10];printf("請輸入10個整數:\n");int i,sum=0;p=&a[0]; for(i=0;i<10;i++){sum=sum+*p; }printf("整數和為:%d",sum);} int main() {int *p;sum(p);return 0; }2.用指針實現函數:讀入5個字符串(或是5個字符),按由小到大的順序輸出這5個字符串。
#include<stdio.h> int main() {int i,a[10],n,m;printf("請輸入n的值:\n");scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n/2;i++){m=a[i];a[i]=a[n-1-i];a[n-1-i]=m;}for(i=0;i<n;i++)printf("%d",a[i]);return 0; }3.利用動態內存分配方式創建長度為10個int的存儲空間,由用戶從鍵盤輸入數據進行空間初始化,同時打印輸出空間內容。
#include<stdio.h> #include<string.h> #include<stdlib.h> void fsort(int a[],int n); int main() {char *p[5];char str[20];scanf("%s",str);int i=0;while(str[0]!='#'){p[i]=(char *)malloc(sizeof(char)*strlen(str));strcpy(p[i],str);scanf("%s",str);i++;}int j;for(j=0;j<i;j++)printf("%s ",p[j]);return 0; }指針對我來說有點難,馬馬虎虎寫完的,并不是很明白。
?
轉載于:https://www.cnblogs.com/lizi-shaoxiaoye/p/6184577.html
總結
- 上一篇: 英雄联盟云顶之弈鬼刀怎么合成
- 下一篇: 大班教案《狐狸爸爸鸭儿子》反思