
#include <stdioh>
#include <stdlibh>
#include <stringh>
FILE f1,f2;
char file1[20],file2[20],name[200][20],name1[15];
int n,m,data[200][10];
void init(){
int i,j;
char ch=' ';
printf("%20c欢迎使用班级成绩管理系统\n\n",ch);
printf("请输入输入和输出文件名(中间用一个空格隔开):\n");
scanf("%s %s",file1,file2);// 1)该条语句的功能是什么?
f1=fopen(file1,"r");
f2=fopen(file2,"w");
fscanf(f1,"%d%d",&n,&m); // 2)该条语句的功能是什么?
for(i=1;i<=n;i++)
{
fscanf(f1,"%s",name[i]); // 3)该条语句的功能是什么?
data[i][0]=0; // 4)该条语句的功能是什么?没有这条语句可不可以?
for(j=1;j<=m;j++)
{
fscanf(f1,"%d",&data[i][j]);
data[i][0]+=data[i][j]; // 5)该条语句的功能是什么?
}
}
fprintf(f2,"name\tyuwen\tshuxue\tyingyu\twuli\thuaxue\tzongfen\n ");
for(i=1;i<=n;i++)
{
fprintf(f2,"%s\t",name[i]);
for(j=1;j<=m;j++)
fprintf(f2,"%d\t",data[i][j]);
fprintf(f2,"%d\n",data[i][0]);
}
fclose(f1);// 6)问什么可以在这关闭输入文件?
fclose(f2);
}
void search(char na[],char num){
int i=1,j;
while((i<=n)&&(strcmp(na,name[i])!=0))i++;
if(i<=n){
switch(num){
case '1':printf("%s的语文成绩为%d!\n",na,data[i][1]);break;
case '2':printf("%s的数学成绩为%d!\n",na,data[i][2]);break;
case '3':printf("%s的英语成绩为%d!\n",na,data[i][3]);break;
case '4':printf("%s的物理成绩为%d!\n",na,data[i][4]);break;
case '5':printf("%s的化学成绩为%d!\n",na,data[i][5]);break;
case 'a':
printf("%s的各科成绩为:\n",name[i]);
printf("语文\t数学\t英语\t物理\t化学\t总成绩\n");
for(j=1;j<=m;j++)
printf("%d\t",data[i][j]);
printf("%d\n",data[i][0]);
break;
default: printf("没有这种查询方式,请确认后再次输入!\n");
}
}
else printf("查无此人,请确认后再次查询!\n");
printf("\n\n");
}
main(){
init();//数据初始化
printf("数据初始化结束!\n\n");
printf("------------------------------------------------\n\n");
char na[20];
char num;
while(1){ // 7)该条语句的功能是什么?
//scanf("%s%c%c",na,&num,&num); // 8)此处的输入可不可以用这条语句?
printf("请输入学生的姓名和要查询成绩的科目代码(中间用一个空格隔开):\n(1 语文 2 数学 3 英语 4 物理 5 化学 a 所有科目成绩 q 退出)\n");
scanf("%s",na);
if(strcmp(na,"q")==0)break; // 9)问什么要用这条语句strcmp(na,"q")==0?
scanf("%c%c",&num,&num); // 10)为什么用了两次&num?
search(na,num);
printf("------------------------------------------------\n\n");
printf("\n请输入新的查询:\n\n");
}
system("pause");
}
稍改一下就行了!
本人也是c语言初学者,写出的东西可能不太专业。如下:
一。流程图
1定义2个整形变量i和sum。
2i赋值1,sum赋值0
3sum的值等于本身的值加上i的值,然后i的值加1
4如果i得值小于或等于100则执行步骤3。
5最后sum的值就是1+2+3++100的值
二。源程序
void
main()
{
int
i,sum;
for(i=1,sum=0;i<=100;i++)
sum=sum+i;
printf("1+2+3++100=%d\n\n\n",sum);
}
小提示:
如果求1+2+3++n的值,只需将程序中的100该为n的值即可。
以下是求解任意两个平方的C语言代码和流程图:
```c
#include <stdioh>
#include <mathh>
int main()
{
double a, b, result;
printf("Enter two numbers to find their squares:\n");
scanf("%lf %lf", &a, &b);
result = pow(a, 2) + pow(b, 2);
printf("The sum of squares is: %2lf", result);
return 0;
}
```
流程图如下:
```
START
|
|__> Prompt user to enter two numbers
| |
| |__> Read the two numbers from user (a, b)
|
|__> Calculate the sum of squares (result = a^2 + b^2)
| |
| |__> Calculate a^2 and b^2 using pow() function
|
|__> Display the result to the user
|
END
```
流程图中用到了三个基本 *** 作:输入、计算、输出,分别用矩形框表示。箭头表示程序的执行流程。
#include<stdioh>void main(){
int a,b,x;
printf("Please input a b x values:");
scanf("%d %d %d",&a,&b,&x);
printf("a=%d,b=%d,x=%d",a,b,x);
if(a>1&&b==0){
x=x/a;
printf("x=%d",x);
}else{
printf("x=%d",x);
if(a==2||x>1){
x=x+1;
printf("x=%d",x);
}else {
printf("x=%d",x);
}
}
}
流程图菱形表示判断,y表示yes,n表示no
具体的变化条件要怎么写楼主自己定了,不清楚留言说明
C语言在程序设计中需要使用流程图是一种程序简化的方法,属于结构化程序设计环节。
早期的非结构化语言中都有go to语句,它允许程序从一个地方直接跳转到另一个地方去。
执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。而结构化程序设计,就是要把这团乱麻理清。
经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的程序设计,就是结构化程序设计。
流程图(Flow Chart):使用图形表示算法的思路是一种极好的方法,可以用多种软件来绘制,连Windows附带的画图也可以。
下面简要描述一些常见的流程图绘制软件:
1Visio是当今最优秀的绘图软件之一,它将强大的功能和易用性完美结合,可广泛应用于电子、机械、通信、建筑、软件设计和企业管理等众多领域。
2power designer是一款比较不错的画流程图软件。
3框图宝(MyFlowChart)是youfabao的在线流程图软件,可以在线绘制流程图,简单易用,基于云计算,数据永不丢失。
4visual graph专业图形系统:此系统为图形控件,在NET开发平台下可以灵活应用,delphi中也可以使用。简单易用,业内应用较广泛。
5Word附带的绘图功能。
6Windows附带的画图。
如果想将一个C语言程序变成2个流程图,首先要根据C程序的功能,找出程序中最重要的步骤,以及它们之间的逻辑关系,并将其转换成符合流程图表达方式的指令。然后,在流程图的绘制工具上绘制出对应的流程图,就可以实现将C语言程序变为2个流程图的需求。
以上就是关于用C语言编写程序解决问题,并画出相应的流程图全部的内容,包括:用C语言编写程序解决问题,并画出相应的流程图、将C语言转成流程图、c语言画出求解任意两个平方的流程图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)