int main(){
int flag = 0,i,sum = 0;
char chs[12];
while(gets(chs) ){
if( strlen(chs) == 1 && chs[0] == '0'){
break;
}
sum = 0;
for(i = 0 ; i< 11;i++){
sum += chs[i] - '0';
}
while( sum > 9 ){
sum = sum % 10 + sum / 10;
}
printf("%d\n",sum);
}
return 0;
}
怎么学好C语言,有没有专门教导C语言的网站
指导学C语言,锐英源最擅长,请看锐英源总结的态度和方法: 锐英源学习态度:听话,耐心,专注,激情,严谨。 锐英源学习方法:记忆,联想,动手,表达,勤问。 锐英源,名称就专业,英译加开源,来锐英源学,必定学精。
C语言编写一个教务管理系统 注:可以把这个程序也发我一下吗
#include<time.h>
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#define MAX 50
void input();
void sort();
void display();
void insert();
void del();
void average();
int now_no=0;
struct student
{
int no;
char name[20];
char sex[4];
float score1;
float score2;
float score3;
float sort;
float ave;
float sum;
};
struct student stu[MAX],*p;
main()//主函数
{
char as;
start: printf("\t\t\t欢迎使用学生成绩管理系统\n\n");
//一下为功能选择模块
do{
printf("\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.成绩排序信息\n\t\t\t\t4.添加学员信息\n\t\t\t\t5.删除学员信息\n\t\t\t\t6.退出\n");
printf("\t\t\t\t选择功能选项:");
as=getch();
switch(as)
{
case '1':
system("cls");
input();
break;
case '2':
system("cls");
display();
break;
case '3':
system("cls");
sort();
break;
case '4':
system("cls");
insert();
break;
case '5':
system("cls");
del();
break;
case '6':
system("exit");
exit(0);
default:
system("cls");
goto start;
}
}while(1);
//至此功能选择结束
}
void input()//原始数据录入模块
{
int i=0;
char ch;
do
{
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息\n",i+1);
printf("\n输入学生编号:");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
i++;
now_no=i;
printf("%d",now_no);
printf("是否继续输入?(Y/N)");
ch=getch();
system("cls");
}
while(ch!='n');
system("cls");
}
void sort()//排序数据函数
{
struct student temp;
int i,j;
for(i=1;i<now_no;i++)
{
for(j=1;j<=now_no-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}}}
}
void display()//显示数据函数
{
int i;
char as;
float ave;
do
{
printf("\t\t班级学员信息列表\n");
printf("\t编号\t姓名\t性别\t成绩\t成绩\t成绩\t平均值\n");
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
printf("\t\t按任意键返回主菜单.");
as=getch();
goto exit;
}
while(as!='n');
exit: system("cls");
}
void insert()//插入数据函数
{
char ch;
do
{
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
scanf("%d",&stu[now_no].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[now_no].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[now_no].sex);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score1);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score2);
printf("\n输入学员成绩:");
fflush(stdin);
scanf("%f",&stu[now_no].score3);
printf("\n\n");
now_no=now_no+1;
sort();
printf("是否继续输入?(Y/N)");
ch=getch();
system("cls");
}
while(ch!='n');
}
void del()//删除数据函数
{
int inum,i,j;
printf("输入要删除学员的编号:");
fflush(stdin);
scanf("%d",&inum);
for(i=0;i<now_no;i++)
{
if(stu[i].no==inum)
{
for(j=i;j<now_no;j++)
{
stu[i]=stu[i+1];
}
now_no=now_no-1;
}
break;
}
system("cls");
}
谢谢
C语言 初学者程序设计,求教导~
因为你对于若小于1或者大于100,没有进行重新输入,所以他们直接参与判断了。就是你里面那个循环写错了。do
scanf("%d",&a);
while(!(a>1) && !(a<100));
这儿写错了。 比如你要是输入 -1 并没有能重新输入。
要这样写
do
scanf("%d",&a);
while(!(a>=1&&a<=100));更多
哇! 好厉害!
真的耶! 但是 我那样写为什么错了呢??? 语法规则吗?? 可以讲讲吗?
不是语法错误,是你想法错了,或者说是算法错了。因为你的代码意思和题意不合
!(a>1) && !(a<100) 这个的意思不是说: a不大于1 并且 a不大于100么???
!(a>=1&&a<=100) 这个翻译成中文 是什么呢~?
!(a>1) && !(a<100) 这个的意思是说: a不大于1 并且 a不大于100。没错, 我的是说 就是这个意思。
那都是这个意思那 为什么我的错了呢~??? 既然都是一个意思 那 两种表达方式有什么不一样呢?
我的意思和你的意思是不一样的。看看你们的高数或者离散数学你就知道了
一个简单的c语言程序,我不知道哪里错了,求大神教导.......
第一行错了,应该是#include<stdio.h>更多
不是都一样么??
你仔细看一看,你多了字母o
该过之后好像也错了,这是为什么呢?
直接这样写,应该不错
#include<stdio.h>
void main()
{
printf("学士后");
}
E:\VC.6\MSDev98\MyProjects\PB_20140923\20140923.c(4) : error C2018: unknown character '0xa3'
还是错了0.0.
确定双引号和分号是不是英文的,不能是中文的。
这个C语言程序哪错了~~~求大神教导~
if(b%10=0) 改为 if(b%10 == 0)
谁会C语言程序编辑的求教导。。。今年报的网络学院学C语言。。老师上课的教材都不一样什么都没听懂。
恩,自己先学,遇到问题再问吧,呵呵,Q:1349761392
C语言 求大神教导
#include<stdio.h>
#include<string.h>
void Inverse(char str[]) /*自定义函数,参数为字符型数组*/
{
int i,j; /*定义变量i,j为基本整型*/
char temp; /*定义变量temp为字符型*/
for(i=0; i<strlen(str)/2; i++) /*使用for语句实现字符串位置倒置*/
{ j=strlen(str)-1; /*长度减1因为数组起始坐标从0开始*/
temp=str[i];
str[i]=str[j-i];
str[j-i]=temp;
}
printf("Inversed results:\n");
puts(str); /*输出倒置后的字符串*/
}
main()
{
int i;
char str[80]; /*定义字符型数组*/
printf("Enter the string:\n");
gets(str); /*gets函数获得字符串*/
printf("Origin str:\n%s\n",str);
Inverse(str); /*调convert函数*/
}001a
转载请注明出处51数据库 » c语言中文教导软件 用c语言来编一个程序求大神教导