菜鸡c语言,菜鸟学C语言

发布时间:2023-01-06

本文目录一览:

  1. c语言菜鸡,这道很简单,但我的运行正确,提交就错求,大佬一个代码,如图,谢谢
  2. c语言菜鸡,这道题我知道是.多实例.但我真的不会.多实例.,求大佬一个代码,谢谢,如图?
  3. c语言菜鸡,运行都对,但提交就错,求大佬一个正确的代码,如图,谢谢
  4. C语言 菜鸡求救 是想让数组a中的整数按相反顺序存放
  5. C语言用递归颠倒栈,我是菜鸡啊,麻烦给个简单点的代码,不是C++.题目如下
  6. c语言菜鸡,这个代码哪错了,题教交说错了%10,谢谢,如图?

c语言菜鸡,这道很简单,但我的运行正确,提交就错求,大佬一个代码,如图,谢谢

一、题目要求输入的数字有区间,你scanf要嵌套一个循环验证输入。 二、当前存款b的累加,应放在判断后面,否则第一次输入的值就没有被判断。 三、注意题目要求先t次输入,再输出t行结果,不是每次输入就输出。要用数组保存每次输入的结果,最后循环输出。(这就是为什么题目设定t的区间是大于1的整数,因为要作为数组的维度,当然用动态数组做,另当别论)。 下面是代码,你参考:

#include<stdio.h>
int main()
{
    int a=0,b=0,t=0,i,j=1,flag[1000];
    while(t==0 || t>1000)
        scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        while(a==0 || a>100000 || b==0 || b>100000)
            scanf("%d%d",&a,&b);
        while(1)
        {
            if(b<a)//存款不够吃饭
            {
                flag[i]=0;
                break;
            }
            if(j==a)//存款够且收入正增长
            {
                flag[i]=1;
                break;
            }
            b=b+j-a;
            j=j*2;
        }
        a=b=0,j=1;
    }
    for(i=0;i<t;i++)
    {
        if(flag[i])
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}

c语言菜鸡,这道题我知道是.多实例.但我真的不会.多实例.,求大佬一个代码,谢谢,如图?

按照题目要求编写的计算换瓶数的C语言程序如下:

#include<stdio.h>
void cal_bottle(int m){
    int total=0;//total表示换瓶总数
    while(m>=3){
        total=total+m/3;
        m=m/3+m%3;
    }
    if(m==2) {total++;}
    printf("%d\n",total);
}
int main()
{
    int n;//n表示空瓶数
    scanf("%d",&n);
    while(n!=0){
        cal_bottle(n);
        scanf("%d",&n);
    }
    return 0;
}

c语言菜鸡,运行都对,但提交就错,求大佬一个正确的代码,如图,谢谢

因为你的程序没有考虑十位是7或者百位是7的数字,所以有错。 因为N小于等于3000,所以考虑个位、十位或者百位是7的数字就可以了。 改进后的完整的C语言程序如下:

#include<stdio.h>
int main(){
    int a,b,i=1,j=1;
    scanf("%d",&a);
    for(i=1;i<=a;i++){
        scanf("%d",&b);
        for(j=1;j<=b;j++){
            if(j%7==0 || j%10==7 || j/10%10==7 || j/100%10==7){
                printf("%d ",j);
            }
        }
        printf("\n");
    }
    return 0;
}

C语言 菜鸡求救 是想让数组a中的整数按相反顺序存放

#include<stdio.h>
int main (void)
{
    int a[100],b,c;
    void miao(int *a,int c);
    printf("输入数组中数字个数");
    scanf("%d",&c);
    printf("输入数组");
    for(b=1;b<=c;b++)
        scanf("%d",&a[b-1]);//这里少了个&
    miao(a,c);
    for(b=1;b<=c;b++)
    {
        printf("%d\t",a[b-1]);
        if(b==c)
            printf("\n");
    }
    return 0;
}
void miao(int *a,int f)
{
    int b[100];
    int e;
    // b=a;//问题就出现在这里 你把a的首地址给了b 
    for(e=1;e<=f;e++)
    {
        *(b+e-1)=*(a+e-1); //你把a的首地址给了b那么 *(b+e-1)=*(a+e-1)这个就和a[e]=a[e]一样你并没有真正把数组a复制一份
    }
    for(e=1;e<=f;e++)
    {
        *(a+f-e)=*(b+e-1);
    }
}

要对指针和数组的关系加强认识啊。。。看我是怎么修改你的代码的O(∩_∩)O哈哈~ 谢谢

C语言用递归颠倒栈,我是菜鸡啊,麻烦给个简单点的代码,不是C++.题目如下

//刚写的code,测试通过,如果有疑问,欢迎交流
//其中is_first是为了控制空格输出,因为最后一个数字后面没有空格
//另外这个程序没有说明输入的个数,所以在运行下面的程序的时候
//输入几个数后,要ctrl+z

#include<stdio.h>
void tar_func(int *&is_first){
    int tar;
    if(scanf("%d", &tar)!=EOF){
        tar_func(is_first);
        if(*is_first != 1){
            printf(" %d", tar);
        }else{
            printf("%d", tar);
            *is_first = 0;
        }
    }
}
int main(){
    int tar,is_first = 1;
    tar_func(is_first);
    return 0;
}

c语言菜鸡,这个代码哪错了,题教交说错了%10,谢谢,如图?

您好,很高兴回答您的问题。 对于您给出来的程序,有一些小问题:首先for循环中的循环变量i是一直在以递增1的速度增加,但是没有结束的时候,所以这个循环是个死循环。其次,b的值没有发生变化,所以只要输入a的值超过1,那么b>a就是永远成立,循环也是死循环,所以需要修改b的值,让它逐步靠近a