注册 登录
编程论坛 C++教室

找错误了,弟兄们

w天然呆x 发布于 2013-05-12 17:11, 648 次点击
#include<conio.h>
#include<stdio.h>
main()
{

    int n,k,xx[20];
    int i,j,t;
   
    printf("\nPlease enter a number:");
    scanf("%d",&n);
    printf("\nPlease enter %d numbers:",n);
    for(i=0;i<n;i++) scanf("%d",&xx[i]);
    printf("\nPlease enter another number:");
    scanf("%d",&k);
    for(i=0;i<k;i++);
    {
        t=xx[0];
        for(j=1;j<n;j++)
        xx[j-1]=xx[j];
        xx[n-1]=t;
    }
    printf("\nAfter moving:\n");
    for(i=0;i<n;i++)
        printf("%3d",xx[i]);
    printf("\n");
}
本意是输入7和1234567再输入5会输出6712345可是结果却是2345671
7 回复
#2
apull2013-05-12 22:31
for(i=0;i<k;i++);
多了个分号。后面的大括号里的就执行一遍。
#3
邓士林2013-05-12 22:50
  for(i=0;i<k;i++);
    {
        t=xx[0];
        for(j=1;j<n;j++)
        xx[j-1]=xx[j];
        xx[n-1]=t;
    }
这样是不对的,你在想下:for后面的分号多余

[ 本帖最后由 邓士林 于 2013-5-12 22:51 编辑 ]
#4
挥霍吧青春2013-05-13 11:59
;是终止,你  for(i=0;i<k;i++);后多了分号,那就只执行一次大括号里面的了。
#5
w天然呆x2013-05-15 14:08
#include<conio.h>
#include<stdio.h>
main()
{
    int i,a[100]={90,180,270,380,590,530,140,750,380},b[6];
   
    int b[6]={0,0,0,0,0,0};
    for(i=0;i<9;i++)   
    {
        if a[i]>=500 b[5]++;
        else
        switch(a[i]/100)
    {
        case 0:b[0]++;break;
        case 1:b[1]++;break;
        case 2:b[2]++;break;
        case 3:b[3]++;break;
        case 4:b[4]++;break;
        default:printf("enter error data!\n");
        
    }
    }
    printf("The result is:");
    for(i=0;i<6;i++)
        printf("%d",b[i]);
    printf("\n");
}
//*************************************************************************************
兄弟们,我这又是肿么了?
        
#6
hebiaofu2013-05-15 17:53
if a[i]>=500 b[5]++;
改成
if (a[i]>=500) b[5]++;
#7
w天然呆x2013-05-21 21:54
求大神指点。。。。
#include<stdio.h>
int is_daffodils(int num)
{
    int i,f,s,t;
    f=num/100;
    s=num/10;
    t=num%10;
    i=f*f*f+s*s*s+t*t*t;
    if(i==num)
        return 1;
    else
        return 0;
}
int main()
{
    int j=0,n,i;
    for(i=1;i<=1000;i++)
    {
        n=is_daffodils(i);
        switch(n)
        {
           case 1: printf("%d是水仙花\n",i);break;
           case 0: printf("%d不是水仙花\n",i);
        }
        j=j+n;
    }
        printf("j=%d\n",j);
}
#8
w天然呆x2013-05-21 21:54
顶顶顶顶顶地对地导弹到
1