刚开始学习c语言,这几个题我不会,还没有掌握,请友友们解答!
5条回答 默认 最新
- fsy351 2022-12-25 13:55关注
1009 Code
有可能超时,应该还有优化的空间。
#include<stdio.h> int main(){ int T; scanf("%d", &T); for( int t = 0; t < T ;t++ ) { unsigned long long x; unsigned int n; scanf("%lld %d", &x, &n); unsigned long long Gx = x; for( int i=0; i < n; i++) { unsigned long long tmp = Gx; unsigned long long fx = 1; while ( tmp != 0 ) { fx *= tmp % 10; tmp /= 10; } Gx = fx; if( Gx < 10 ) { break; } } printf("%lld\n", Gx); } return 0; }
1018 Code
#include<stdio.h> int main(){ int N; scanf("%d", &N); while ( N-- ) { int a,b; scanf("%d %d", &a, &b); int maxL = a < b? a : b; unsigned long long cnt = 0; for( int t = 0; t < maxL ; t++ ) { cnt += (a - t) * (b - t); } printf("%lld\n", cnt); } return 0; }
1019 code
```c #include<stdio.h> #include<math.h> int main(){ int T; scanf("%d", &T); while ( T-- ) { int Ax,Ay,Bx,By,Cx,Cy; scanf("%d %d %d %d %d %d", &Ax,&Ay,&Bx,&By,&Cx,&Cy); double area = 0; if( Ax == Bx || Ay == By ) { area = abs( (Ax-Cx)*(Ay-Cy) ); } else{ float cosAg = ( (Bx-Ax)*(Cx-Ax) + (By-Ay)*(Cy-Ay) ) / ( sqrt( (Cx-Ax)*(Cx-Ax) + (Cy-Ay)*(Cy-Ay) ) * sqrt( (Bx-Ax)*(Bx-Ax) + (By-Ay)*(By-Ay) ) ); area = abs( ( (Cx-Ax)*(Cx-Ax) + (Cy-Ay)*(Cy-Ay) ) * sqrt( 1 - cosAg* cosAg ) * cosAg ); } printf("%.1f\n", area); } return 0; }
```
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
- ¥15 ArcGIS批量裁剪
- ¥15 labview程序设计
- ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
- ¥15 Cloudreve保存用户组存储空间大小时报错
- ¥15 伪标签为什么不能作为弱监督语义分割的结果?
- ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
- ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
- ¥15 android 集成sentry上报时报错。
- ¥15 抖音看过的视频,缓存在哪个文件