图片-c语言问题 有点难 求帮助

问题描述

c语言问题 有点难 求帮助

Input a number from a user
The user can continue input a number until input ‘-1’
If -1 is entered, the program must show entered numbers

文档下载">

解决方案

 #include <stdio.h>
int main()
{
    int arr[10000];
        int n;
        int i = 0;
        while (true)
        {
            printf("Number ? ");
            scanf("%d", &n);
                arr[i++] = n;
                if (n == -1) break;
        }
        i = 0;
        while (arr[i] != -1)
            printf("%d,", arr[i++]);
}

解决方案二:

楼上速度真快,佩服!

解决方案三:

有可能溢出啊,虽然只有理论上可能,实际上如果手工输入的话,不会输入这么多,但是如果从定向输入就难说了,写代码还是严谨一点好。

解决方案四:

typedef struct node
{
int numInt;
float numFloat;
double numDouble;
struct node * pNext;
}NODE;

int main()
{
NODE* myInput = NULL;
NODE* pCurrent = NULL;
while (true)
{
int temp = 0;
printf("Number ? ");
scanf("%d", &temp);
if (temp == -1)
break;
if (myInput == NULL)
{
myInput = new NODE;
memset(myInput, 0 , sizeof(NODE));
myInput->numInt = temp;
pCurrent = myInput;
continue;
}
pCurrent->pNext = new NODE;
memset(pCurrent->pNext, 0 , sizeof(NODE));
pCurrent = pCurrent->pNext;
pCurrent->numInt = temp;
}
pCurrent = myInput;
while(true)
{
if( myInput == NULL)
break;
printf("num is : %dn", pCurrent->numInt);
myInput = myInput->pNext;
delete pCurrent;
pCurrent = myInput;
}
system("pause");
return 0;
}
看到楼上贴的有漏洞,我就再贴一个,这里面就是添加了一个,数据的存储是动态分配的内存,然后在显示的时候,再把内存清理。
这样做主要是灵活性大,你输入的数据不再被定义数组的大小限制,还有就是,数据的类型多样化,你可以看到NODE里面的3个成员变量,
假设你以后还有其他类型的数据,只需要在里面添加就可以,方便。记得释放内存,记得释放内存,记得释放内存。重要的事情说三遍,
c 和 c++里面最需要做的事就是释放内存。

解决方案五:

其实不要用链表这么麻烦,其实也不会需要输入那么多,到了数组上限可以做个提示,已经满了,然后全部输出,然后,可以做成结束程序,或者重新开始输入

时间: 2024-10-01 08:22:46

图片-c语言问题 有点难 求帮助的相关文章

难题求解答-c语言程序设计(很难的一道题)

问题描述 c语言程序设计(很难的一道题) 一.将分数变小数:写出一个程序,接受一个以N/D的形式输入的分数,其中N为分子,D为分母,输出它的小数形式.如果它的小数形式存在循环节,要将其用括号括起来.例如:1/3=.00000...表示为.(3),又如41/333=.123123123...表示为.(123). 一些转化的例子: 1/3=.(3) 22/5=4.4 1/7=.(142857) 3/8=.375 45/46=.803(571428) ??用上面的分数和13/79来测试你的程序.求高手

android华为手机读取本地文件夹图片获取path路径null,求指导

问题描述 android华为手机读取本地文件夹图片获取path路径null,求指导 android华为手机读取本地文件夹图片获取path路径null,求指导 解决方案 public String getImagePathFromURI(Uri uri) { Cursor cursor = getActivity().getContentResolver().query(uri null null null null); String path = null; if (cursor != null

c语言程序问题,求一段代码

问题描述 c语言程序问题,求一段代码 求一段c语言代码:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将其插入数组中 解决方案 #include<iostream> #include<iomanip> using namespace std; int main() { int i; cout<<"原来数列为:"<<endl; int a[11]={1,2,3,5,6,7,8,9,10,11}; for(i=0;i<=8;i

一道c语言的题目,求解答

问题描述 一道c语言的题目,求解答 有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10];则下列几种调用错误的是: A·f(a,p) B·f(*p,b) C·f(b,&a) D·f(*p,p) 我的想法是:子函数要接收一个整形变量,一个指针变量,那么B选项中b不是指针常量么? 求助大神们解答!谢谢! 答案是C 解决方案 C B中 b 是数组名,可以看作 const 的指针 C中第一个参数是b,但实际参数是 int 解决方案二: B 选项中的

c语言题目二进制加法求指教

问题描述 c语言题目二进制加法求指教 由键盘输入两个二进制正整数(均不超过2的31次方),计算输出它们的和(结果同样以二进制表示).注:本题以字符串方式读取数据时,务必使用scanf(""%s"" ....)的方式 输入格式 共两行,一行一个二进制正整数(务必使用scanf(""%s"" ....)的方式,以确保读入的串末尾不会含有空格及其它特殊字符)输出格式 二进制形式的和输入样例 110110输出样例 1111 解决方案

c语言基础问题,求大神解答

问题描述 c语言基础问题,求大神解答 输入10个整数,使其各数顺序向后移动m个位置,如1.2.3.4.5.6.7.8.9.10移动后为7.8.9.10.1.2.3.4.5.6 解决方案 用循环,对1--8的数据向后移,0,9号数据单独考虑 解决方案二: 百度上有个算法,你试试效率怎么样 void Reverse(int *arr, int b, int e) { for(; b < e; b++, e--) { int temp = arr[e]; arr[e] = arr[b]; arr[b]

函数式语言-Scheme语言的map函数求行列式的积

问题描述 Scheme语言的map函数求行列式的积 利用scheme的map函数求解行列式的积 例如 '((1 2)(3 4)) '((5 7)(6 8)) 得到结果(1*5+2*7 1*6+2*8) (3*5+4*7 3*6+4*8) 最终结果((19 22)(43 50)) 解决方案 http://my.oschina.net/zhoukuo/blog/349453

和总统聊天、演讲一票难求……马云为什么在非洲成了“网红”?

昨天,马老师造访了非洲的肯尼亚. 在跟马云见面畅聊后,肯尼亚总统乌胡鲁·肯雅塔一连发出四张跟马云的合影:"今天见了阿里巴巴创始人马云,我们一起讨论用企业家精神为年轻创业者赋权!" 肯雅塔总统与马云畅聊数十分钟,谈论话题包括发展互联网基础设施.支持肯尼亚年轻人创业等.两人特别讨论到肯尼亚建设非洲首个eWTP数字中枢的潜力. 马云提到马来西亚携手阿里巴巴建设eWTP数字中枢的尝试,总统及与会的部长和官员都深感兴趣. 马云还去了内罗毕大学,给当地的年轻人做了一场演讲. 他说,中国已经发生的变

mysql-MySQL安装过程中遇到3个问题.菜鸟自学之路好难求大神

问题描述 MySQL安装过程中遇到3个问题.菜鸟自学之路好难求大神 我实在是没招了!求个大神给指导一下.希望可以帮我远程操作一下.按照自学的视频 2015年1月9号第一次学mysql,安装完mysql,一点finish,弹出配置的那个窗口. 可以使用了.真是激动人心. 当天按照视频又使用了SQLyogEnt.exe这个软件,当然了一切都是那么的正常. 学习完毕,我按了一下ctrl+s想保存一下,以为和java一样,一按没想到还要存储到一个目录下,于是存储到一个目录下. DOS窗口下和SQLyog