❶ c語言用函數從鍵盤輸入10個整數,統計非負數個數,負數個數,並計算非負數之和,負數之和,非負數之積
int main()
{
int i=0,f=0,z=0,zj=1;
printf("請輸入10個整數:);
for(i=1;i<=10;i++){
printf("%d",&i);
if(i<0)f++;
else {z++;zj=zj*z;}
}
printf("非負數之和:%d",&z);
printf("負數之和:%d",&f);
printf("非負數之積:%d",&zj);
return 0;
}
只記得這些,好像不太對
❷ c 語言中非負實數怎樣表示
c語言基本數據類型中沒有實數,
浮點數可以用double/float, 整數就是 int, 非負,就直接在前面增加unsigend
例如:unsigned int, unsigned double
ps:是的,當年學藝不精留下的坑。如評論所言,不能用unsigned 修飾浮點數。
❸ c語言編程 求兩個超過200位的非負整數的和
代碼如下:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string a, b, ans;
int main() {
cin >> a >> b;
int aa = a.length();
int bb = b.length();
int ss = min(aa, bb);
int ll = max(aa, bb);
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
for (int i = 0; i < ss; i++) {
ans += a[i] + b[i] - '0';
}
if (aa < bb) {
for (int i = ss; i < ll; i++) {
ans += b[i];
}
} else if (aa > bb) {
for (int i = ss; i < ll; i++) {
ans += a[i];
}
}
ans += '0';
for (int i = 0; i < ll + 1; i++) {
if (ans[i] > '9') {
ans[i + 1]++;
ans[i] -= 10;
}
}
reverse(ans.begin(), ans.end());
for (int i = ans.find_first_not_of('0'); i < ll + 1; i++) {
if (i == -1) {
cout << 0;
return 0;
}
cout << ans[i];
}
return 0;
}
(3)c語言非負變數擴展閱讀
使用函數必須知道的三點注意事項:
C是一個結構化語言,它的重點在於演算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。
C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。
所以C與C++的最大區別在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為「 設計這個概念已經被融入到C++之中 」。
C與C++的最大區別:在於它們的用於解決問題的思想方法不一樣。之所以說C++比C更先進,是因為「 設計這個概念已經被融入到C++之中 」,而就語言本身而言,在C中更多的是演算法的概念。
那麼是不是C就不重要了,錯!演算法是程序設計的基礎,好的設計如果沒有好的演算法,一樣不行。而且,「C加上好的設計」也能寫出非常好的東西。
❹ 編寫c語言 從鍵盤輸入若干個互不相同的非負數(假設小於100,用負數結束輸入),要求從小到大排序。
1.輸入是非負數則可以連續輸入
2.當輸入為負時,跳出循環,進入下一步
3.顯示出輸入的所有數據
4.找出最小值
5.進行從小到大排序
#include <stdio.h>
main()
{ int i=0,j,a[100],min,t,s,m,n;
while(1)
{input:
scanf("%d",&m);
if(m<0)
break;
if(m>=0)
{
a[i]=m;
i++;
goto input;
}
}
n=i;
printf("排序前 :\n");
for (i=0;i<n;i++)
{
printf(" %d",a[i]);//輸入的所有正整數
}
min=a[0];
for(i=0;i<n;i++)
if(min>a[i])
min=a[i];
printf("最小值:%d\n",min);
for(i=0;i<n;i++)
{s=i; //利用選擇法,即從後9個比較過程中,選擇一個最小的與第一個元素交換,依次類推,即用第二個元素與後8個進行比較,並進行交換。
for(j=i+1;j<n;j++)
if(a[s]>a[j])
s=j; //利用選擇法
t=a[i];
a[i]=a[s];
a[s]=t;}
printf("從小到大排列 :\n");
for(i=0;i<n;i++)
printf(" %d",a[i]);
}
❺ C語言 輸入負數,則顯示「你輸入的數為負數」 輸入非負數則顯示「你輸入的為非負數」
#include <stdio.h>
int main()
{
int number;
printf("請輸入數字:");
scanf("%d", &number);
/* not number>0 */
if(number<0)
{
printf("你輸入的數為負數\n");
}else{
printf("你輸入的為非負數\n");
}
return 0;
}
❻ c語言程序填空題 輸入一個非負整數,求1+1/2!+...+1/n!。假設變數已正確定義
第一個空填的內容是0,因為我們要求階乘的相加,同時for循環中是通過一個變數來對階乘進行存儲的,所以說sum的值賦值為0,就可以實現記錄階乘的和。
第二個空填的是「double item=1」,因為for循環中有一個item變數,但是在第二個空之前沒有定義,所以說這里填的是變數的定義,並且必須賦值為1。
第三個空填的是「item=item/i」,因為下一句寫的是對sum進行加和,而且加的是item,所以說填寫的為「item=item/i」。
(6)c語言非負變數擴展閱讀:
由於正整數的階乘是一種連乘運算,而0與任何實數相乘的結果都是0。所以用正整數階乘的定義是無法推廣或推導出0!=1的。即在連乘意義下無法解釋「0!=1」。
for循環的注意事項:
1、for循環中的變數可以是一個也可以是多個。
2、for循環中語句可以為語句體,語句體外加大括弧「{}」將參加循環的語句括起來。
3. for循環中的「單次表達式」、「條件表達式」和「循環體語句」都是選擇項,即可以預設成只剩下「;」的空語句。
C語言的特有特點:
C語言是普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
1、廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
2、簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率。
同時還能夠支持高級編程,避免了語言切換的繁瑣。
❼ C語言程序設計中要求輸入非負數,那應該規定是什麼類型呢%f會有負數,%u又只能輸入整形
定義成整形或實型,看需要,十進制有符號數,輸入之後判斷是否大於0,否則再次輸入
❽ C語言中如何定義一個不為負數的整形變數
unsigned
int
a;
表示定義一個不含負數的整型變數,unsigned表示沒有負數,int表示整型,a是變數名。
❾ c語言在所指向的整數數組中查找第k個最大元素全部數組的值是非負的
#include <stdlib.h>
#include <stdio.h>
void paixu(int *nums,int len)
{
int i = 0;
int j = 0;
int temp;
for(i=0;i<len-1;i++)
{
for(j=0;j<len-i-1; j++)
{
if(nums[j]<nums[j+1])
{
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
}
/////////////////////////////////////////////////////////
int get_kth_largest(int *nums, int k) {
int i=0;
int j = 0;
int *p = nums;
if (k>=1)
{
while(p != NULL && *p != -1)
{
p++;
i++;
}
if (k>i)
{
return -1;
}
else
{
paixu(nums,i);
return nums[k-1];
}
}
return -1;
}
//////////////////////////////////
//測試
int main()
{
int mm[]={2,3,4,1,8,6,7,5,9,-1};
int n = 0;
scanf("%d", &n);
printf("第%d大的數是%d", n,get_kth_largest(mm,n));
getchar();
return 0;
}
結果如下:int mm[]={2,3,4,1,8,6,7,5,9,-1};
❿ 用c語言編寫程序,輸入一個非負整數(小於10位),計算該數各位數字的和
您好,很高興回答您的問題。
您這個題目本身並不復雜,只要掌握了對一個數據分離其各個位置上的數據的方法即可。您可以定義一個一維數組,用來存放各個位置上數據。首先從鍵盤輸入一個數,最好設置為實型數據。首先通過循環判斷是幾位數,然後再用循環分解每一位置上的數字,這里要學會使用%和/號。還要定義一個產量,用來存放各位數字的和,記住其初始值一定設置為0。每分解一位就加到放和的變數中。
以上就是我的回答,希望能幫助到您。你可以自己試一試,有問題我們再討論哦。