㈠ 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