㈠ c语言在线求助!!!!!!
回文判断函数有问题.
主函数中函数调用有问题.
修改如下:
#include<stdio.h>
intprime(intn)
{inta;
for(a=2;a<n/2;a++);
if(n%a==0)
return0;
return1;
}
intpalindrome(intm)
{intb,c,d,a[1111];
for(c=0;m!=0;c++)
{
a[c]=m%10;
m=m/10;
}
for(d=0;d<c/2;d++)
{
if(a[d]!=a[c-d-1])
return0;
}
return1;
}
intmain()
{inte,f,g;
scanf("%d%d",&e,&f);
for(g=e;g<=f;g++)
{if(palindrome(g)&&prime(g))
printf("%d ",g);
}
return0;
}
㈡ c语言代码(在线)
这个程序我见过!地址如下。
程序是没有任何问题的。do..while只是为了提高程序的判断验错能力。给你解释一下:
void insert()
{
int i=n,j,g; //这里n是全局变量,它记录了总学生数
printf("input number:\n"); //这里是提示要插入(增加的人数),比如要增加10个学生,输入10,只增加1个学生就输入1,这个概念要清楚
scanf("%d",&m);
do
{ g=1;
while(g)
{ g=0;
printf("iuput %dth telephone:\n",i+1); //提示输入,提示你输入第n+1个学生的数据
scanf("%s",phon[i].tel);
for(j=0;j<i;j++)
if(strcmp(phon[i].tel,phon[j].tel)==0) //对字符串不能直接比较故用字符串比较函数strcmp()判断
{ printf("that have ,please input again!\n"); //相等则说明输入重复,有重复立即退出该层循环并要求重新输入
g=1;
break; //如有重复立即退出该层循环
}
}
printf("input %dth name:\n",i+1);
scanf("%s",phon[i].name);
printf("input %dth address:\n",i+1);
scanf("%s",phon[i].add);
printf("input %dth telephone:\n",i+1);
scanf("%s",phon[i].tel);
printf("input %dth E-mail:\n",i+1);
scanf("%s",phon[i].mail);
if(g==0) //如果g==0,说明输入正确(也就是无重复),那么i加1表示实际人数加1
{ i=i; //这句去掉,多余无用
i++;
}
}while(i<n+m); //当输入的总人数小于m时继续输入
n+=m; //输入完成后总学生数为n+m,把这个数字保存到全局变量中供排序函数等其他函数调用
printf("complate.\n\n");
}
再说明一点,这里新增加的学生,或者是改动学生的数据都只是保存在内存中,并没有真正写入到硬盘的文件tonxunlu.dat中,所以要把结果保存到文件中,退出程序时必须调用功能模块save()函数将内存中的有关数据(包括增加和改动后的)全部写入到文件tonxunlu.dat中。这一点源程序已经说明得很清楚。
当然如果你不想在退出前执行save()函数模块,可以在insert()函数中的最下面调用该save()函数也可以,也就是:
void insert()
{
......
n+=m;
save();//这里
printf("complete.\n\n");//此单词写错
}
㈢ c语言在线翻译
/包涵头文件stdio.h
void main//返回空值的main函数
{
float a,b,c,x;//定义浮点类型a,b,c,x
x=0;//给x赋初值0
printf("a=");//在屏幕上输出 a=
scanf("%f",&a);//从键盘上获取一个浮点数赋给a
printf("b=");//在屏幕上输出 a=
scanf("%f",&b);//从键盘上获取一个浮点数赋给b
printf("c=");//在屏幕上输出 a=
scanf("%f",&f);//从键盘上获取一个浮点数赋给f
/*这句是不是有问题?应该是scanf("%f",&c);吧?*/
x=a/(b-c);//将a/(b-c)的值赋给x
if((b-c)!=0)//假如(b-c)不等于0
print("%.2f=a/(b-c)\n",x);//在屏幕上输出(x的值,保留两位小数)=a/(b-c)(一个回车符)
else//否则
{
printf("\nError!\n");//在屏幕上输出(一个回车符)Error!(一个回车符)
}
}
㈣ c语言在线咨询
z变量因为没有限定宽度,所以后面输入任何数都是属于z的。。对于输入来说,空格相当于回车键。所以x=1,并非是因为%2d
譬如:1 23456789,则z=6789。
㈤ C语言 在线答题系统
。。。
初看下挺乱的!。。。
首先:看main函数里的第一个k变量初值为1
那么接下来while(k>1)就进不去了。。
当然一下子就结束了。
再看:
void regist()
{
int w=0,k=0;
while(w<1)
{
////////////////////////////////////这里如果不加个k清零操作,则只要输错一次,下次就永远也进过不去了。
printf("请输入您的姓名");
gets(name);
printf("请输入您的8位准考证号码");
gets(id);
while(1)
{
if(id[k]=='\0'||id[k]>'9'||id[k]<'0') /* 此处不解输入8位数字,仍然编译不能通过。希望能为我解释一下 请问能不能这样转换 if(id[k]=='\0'&&id[k]>='0'&&id[k]<='9') */
break;
k++;
}
if(k==8&&id[9]=='\0')
break;
else
printf("考生考号应是8位数字,您的输入有误,请重新输入");
}
}
㈥ c语言在线高手
你的问题是书不一样,然后不同分配的借法种数是吧。
如果是的话本题应该用分步来算,先有A来借,他从5本书中借去一本,接着B从剩下的4本中借去一本,最后C从剩下的3本中再借去一本,所以总共不同借法就有5*4*3种。
#include"stdio.h"
main()
{
int i,n,s=1;
scanf("%d",&n); /*输入一个数n表示小明有n本书*/
for(i=0;i<3;i++) /*i表示A,B,C三个小朋友,i=0表示A可以借书的机会,i=1表示B可以借A借过后剩下的书,C则再剩下*/
{s*=n;
n--;
}
printf("%d\n",s);
}
不敢保证一定正确,但希望对你有帮助
㈦ C语言,在线等
#include<stdio.h>
int main(void)
{
int sum=0;
int flag=1;
for(int i=1;i<=101;i+=2)
{
sum+=i*flag;
flag*=-1;
}
printf("%d",sum);
return 0;
}
㈧ C语言,在线等。
1#include <stdio.h>
void main()
{
char a,c;
int b[26]={0},i;
while((a=getchar())!='\n')
{
c=a;
if (c>='A'&&c<='Z')
{
++b[c-'A'];
}
}
for (c='A',i=0;i!=26;++i,++c)
{
printf("有大写字母%c,%d个\n",c,b[i]);
}
}
2、#include <stdio.h>
void main()
{
char s[80],ch[80];
gets(s);//取首地址即可
int i,j,m;
scanf("%d",&m);//漏了取地址符号
for(i=0,j=0;i<=m;i++,j++)
ch[j]=s[i];
for(i=i-m;s[i-m]!='\0';i++)
s[i]=s[i-m];
for(i=m,j=0;s[i]!='\0';i++,j++)
s[i]=ch[j];
s[i]='\0';
puts(s);
}
㈨ c语言在线等
//
//CreatedbyBroderickon2018-04-08.
//
#include"stdio.h"
#include"Math.h"
voidswap(double*p,double*q){
*p=*p+*q-(*q=*p);
}
//ax^2+bx+c=0
double*OneQuadraticEquation(doublea,doubleb,doublec,doubleresult[2]){
result[0]=((-1*b)+sqrt(pow(b,2)-4*a*c))/(2*a);
result[1]=((-1*b)-sqrt(pow(b,2)-4*a*c))/(2*a);
printf("x1=%.2d,x2=%.2d",result[1],result[2]);
if(result[0]>result[1]){
swap(result,result+1);
}
returnresult;
}
intmain(){
doublea,b,c,result[2];
printf("请用逗号分隔并输入a,b,c ");
scanf("%d%d%d",a,b,c);
OneQuadraticEquation(a,b,c,result);
return0;
}
㈩ C语言 在线问答
v0=13,v1=4,v2=12