第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

總是說我對重載函數(shù)pow調用不明確,我該怎么改?(題目是輸出0到輸入整數(shù)之間的所有2的乘方)

總是說我對重載函數(shù)pow調用不明確,我該怎么改?(題目是輸出0到輸入整數(shù)之間的所有2的乘方)

C C++
叫什么名字好呢1 2016-07-27 16:23:38
#include <stdio.h>#include <math.h>?int main (){ unsigned long num; unsigned long value=0;//2的n次方的值 size_t number_pow=0;//指數(shù)冪 printf("請輸入一個正整數(shù):"); scanf("%1d",&num); while (value<=num) ? //2的n次方大于number時循環(huán)停止 { value=pow(2,number_pow++); ? //調用數(shù)學函數(shù)pow if (value<num) { printf("小于%1d的所有2的乘方為%1d \n",num,value); } } return 0;}
查看完整描述

1 回答

已采納
?
luofuxiang

TA貢獻34條經驗 獲得超34個贊

????pow的函數(shù)原型為double pow(double x,double y);所以樓主定義的num應該為double類型,返回值可以強制轉換為long unsigned int 類型(即unsigned long類型),然后輸出結果,輸出double類型的格式化輸出符號為“%lf”,unsigned long 類型格式化輸出符號為“%ld”,這里我發(fā)現(xiàn)樓主寫的是“%1d”。

????下面代碼是我根據(jù)樓主的代碼稍微做了一下修改,已經用調試運行過。

源代碼:

#include?<stdio.h>
#include?<math.h>
int?main?()
{
double?num;
unsigned?long?value=0;//2的n次方的值
size_t?number_pow=0;//指數(shù)冪
printf("請輸入一個正整數(shù):");
scanf("%lf",&num);
while?(value<=num)???//2的n次方大于number時循環(huán)停止
{
value=(long?unsigned?int)pow(2,number_pow++);???//調用數(shù)學函數(shù)pow
if?(value<num)
{
printf("小于%.0lf的2的乘方有%ld?\n",num,value);
}
}
return?0;
}

運行結果:

http://img1.sycdn.imooc.com//5798a1fb000107d406440192.jpg


查看完整回答
反對 回復 2016-07-27
  • 叫什么名字好呢1
    叫什么名字好呢1
    能不能只把返回值強制轉換呢?num是輸入的整數(shù),我覺得沒必要定義為double型啊!
  • luofuxiang
    luofuxiang
    可以,但是在pow參數(shù)那里也還需要將int類型裝換成double,盡管int轉double可以由編譯器自動完成,但有些編譯器會報一個警告。
  • 叫什么名字好呢1
    叫什么名字好呢1
    這樣啊,我知道了,真是謝謝了
  • 1 回答
  • 0 關注
  • 3903 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號