刚刚完成C语言作业,有错误,希望高手来解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚刚完成C语言作业,有错误,希望高手来解决相关的知识,希望对你有一定的参考价值。
简单的大小写转换,有两个错。。希望高手来
#include <stdio.h>
void main()
char c1,c2;
c1=getchar();
if(c1>='A')&&(c1<='Z');
printf("%c,%d\n",c1,c1);
c2=c1+32;
else c2=c1-32;
printf("%c,%d\n",c2,c2);
其实是,你if条件的执行语句括号打错了,应该打在else前面那一句,就是这样了,那,正确的源码如下:
#include <stdio.h>
void main()
char c1,c2;
c1=getchar();
if(c1>='A'&&c1<='Z')
printf("%c,%d\n",c1,c1);
c2=c1+32;
else c2=c1-32;
printf("%c,%d\n",c2,c2);
我调试过的。。没错。。。 参考技术B #include <stdio.h>
void main()
char c1,c2;
c1=getchar();
if((c1>='A')&&(c1<='Z'))//少了一对(),多了一个;
printf("%c,%d\n",c1,c1);
c2=c1+32;
//这个括号应该放在这个位置
else
c2=c1-32;
printf("%c,%d\n",c2,c2);
本回答被提问者采纳 参考技术C #include <stdio.h>
void main()
char c1,c2;
c1=getchar();
if((c1>='A')&&(c1<='Z')) //括号不匹配
c2=c1+32; //和下面调换一下
printf("%c,%d\n",c2,c2); //打印c2不是c1
//多条语句要用花括号
else
c2=c1-32;
printf("%c,%d\n",c2,c2);
参考技术D #include <stdio.h>
void main()
char c1,c2;
c1=getchar();
if((c1>='A')&&(c1<='Z'))
printf("%c,%d\n",c1,c1);
c2=c1+32;
else
c2=c1-32;
printf("%c,%d\n",c2,c2);
这样就可以,if那行后面不应有分号,if后的()应包括(c1>='A')&&(c1<='Z')
else的后少一个
刚开始学C,要注意排版,这样对编程有好处 第5个回答 2009-10-07 #include <stdio.h>
int main(void)
char c1,c2;
c1=getchar();
if(c1>='A')&&(c1<='Z');
printf("%c,%d\n",c1,c1);
c2=c1+32;
else
c2=c1-32;
printf("%c,%d\n",c2,c2);
return 0;
C语言链表问题,作业编程。编好出现问题。高手看下。
课程设计题目:学生成绩管理2(由 完成)
课程设计内容:用C语言编写程序完成以下任务:
学生基本信息包括学号,姓名,计算机成绩,请编程序,实现如下的功能:
(1)创建链表存放学生信息,并将学生信息保存到students.txt文件中。
(2)显示学生信息。
(3)修改指定学号的学生成绩并可存盘。
课程设计要求:
1.贯彻结构化程序设计思想。
2.用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
3.用户界面中的菜单至少应包括“创建链表”、“显示学生信息”、“学生成绩修改”、 “退出”4项。
4.代码应适当缩进,并给出必要的注释,以增强程序的可读性。
#include <stdio.h>
#include <string.h>
#include <malloc.h>
typedef struct linknode
long number;
char name[21];
int score;
struct linknode *next;
linknode, *linklist;
void input(linklist *h);
void cleanup(linklist h);
void modify(linklist h);
void print(linklist h);
/* 添加学生记录 */
void input(linklist *h)
long num;
linklist p, q;
p = q = NULL;
printf("\n\n请输入学生信息(学号 姓名 成绩 ,学号为0结束):\n");
while (1)
scanf("%ld", &num);
if (num == 0)
break;
p = (linklist)malloc(sizeof(linknode));
if (p == NULL)
cleanup(*h);
exit(-1);
p->number = num;
p->next = NULL;
scanf("%s %d", p->name, &p->score);
getchar();
if (*h == NULL)
*h = q = p;
else
q->next = p;
q = p;
getchar();
/* 释放资源 */
void cleanup(linklist h)
linklist p = h;
while (p != NULL)
h = p->next;
free(p);
p = h;
/* 修改学生记录 */
void modify(linklist h)
if (h == NULL)
return;
char choice, name[21];
long num;
int found = 0;
linklist p = h;
printf("\n\n请选择查询方式:1) 学号 2) 姓名\n");
choice = getchar();
getchar();
if (choice == '1')
scanf("%d", &num);
else
scanf("%20[^\n]", name);
getchar();
while (p)
if (choice == '1' && p->number == num)
found = 1;
else if (!strcmp(p->name, name))
found = 1;
if (found)
printf("请输入新学生信息(学号 姓名 成绩): ");
scanf("%ld %s %d", &p->number, p->name, &p->score);
getchar();
break;
p = p->next;
if (found)
printf("成功更新学生信息\n");
else
printf("找不到学生信息\n");
/* 输出所有学生记录 */
void print(linklist h)
linklist p = h;
printf("\n\n学号\t姓名\t成绩\n");
while (p)
printf("%ld\t%s\t%d\n", p->number, p->name, p->score);
p = p->next;
int main(void)
linklist head, cursor;
head = cursor = NULL;
char choice;
printf("***欢迎使用简单学生管理系统***\n");
while (1)
printf("\n功能选择:\n");
printf("1) 添加记录 2) 显示记录 3) 修改记录 4)退出程序\n");
choice = getchar();
getchar();
switch (choice)
case '1':
input(&head);
break;
case '2':
print(head);
break;
case '3':
modify(head);
break;
case '4':
goto out;
out:
FILE *fp = fopen("students.txt", "w");
if (fp == NULL)
printf("无法打开文件,保存数据出错。。");
exit(-1);
cursor = head;
/* 保存学生记录 */
while (cursor != NULL)
fprintf(fp, "%ld %s %d\n", cursor->number, cursor->name, cursor->score);
cursor = cursor->next;
fclose(fp);
cleanup(head);
return 0;
参考技术A #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define LEN sizeof(struct data)
#define N 3//在这修改学生的人数
struct data
int num;
char name[20];
int score;
stu[N];
void main()
int i,j,n,m;
char str[20];
for(i=0;i<N;i++)
printf("学号:");
gets(str);
stu[i].num=atoi(str);
printf("姓名:");
gets(stu[i].name);
printf("成绩:");
gets(str);
stu[i].score=atoi(str);
printf("学号 姓名 成绩\n");
for(i=0;i<N;i++)
printf("%2d%7s%5d\n",stu[i].num,stu[i].name,stu[i].score);
printf("要修改信息的个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
printf("\n要修改的学号:");
scanf("%d",&m);
for(j=0;j<N;j++)
if(stu[j].num==m)
printf("修改的成绩为:");
scanf("%d",&stu[j].score);
break;
printf("修改后:\n");
for(i=0;i<N;i++)
printf("%2d%7s%5d\n",stu[i].num,stu[i].name,stu[i].score);
以上是关于刚刚完成C语言作业,有错误,希望高手来解决的主要内容,如果未能解决你的问题,请参考以下文章
C语言 四则运算 各位C语言高手帮忙做下这题!!谢谢谢谢谢谢