解题思路:
抛砖引玉,欢迎讨论。用最笨的办法,完成题目
注意事项:
如果水平足够可以直接写代码,如果水平不够就慢慢来,把思路捋清楚,一步一步做测试,最终把代码完成
参考代码:
#include <iostream> #include <cmath> using namespace std; int main(){ //输入第一个数n int n; cin>>n; //判断n是否等于1,如果等于1就代表是单个元素,输出Jolly if(n==1){ cout<<"Jolly"<<endl; return 0; } //定义两个数组,一个用于存放输入的n个元素,另一个存放元素的差值 int a[n],b[n-1]; for(int i=0;i<n;i++){ cin>>a[i]; } //下列代码是测试元素是否正确输入 // for(int i=0;i<n;i++){ // cout<<a[i]; // } for(int j=0;j<n-1;j++){ b[j]=abs(a[j+1]-a[j]); } //测试代码,测试数组b是否正确存放数据 // for(int i=0;i<n-1;i++){ // cout<<b[i]<<" "; // } //对数组b进行排序,邻元素的差的绝对值经过排序后正好是从1到(n-1) 3 2 1 for(int i=0;i<n-1;i++){ for(int j=0;j<n-2;j++){ if(b[j]>b[j+1]){ int temp=b[j]; b[j]=b[j+1]; b[j+1]=temp; } } } //测试是否正确排序 // for(int i=0;i<n-1;i++){ // cout<<b[i]<<" "; // } //前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1) for(int i=0;i<n-2;i++){ if(b[i]!=i+1){ cout<<"Not jolly"<<endl; return 0; } } cout<<"Jolly"<<endl; return 0; }
0.0分
0 人评分
简单的a+b (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:481 |
【绝对值排序】 (C语言代码)浏览:832 |
三角形 (C++代码)递推浏览:825 |
母牛的故事 (C语言代码)浏览:1451 |
蛇行矩阵 (C语言代码)浏览:606 |
母牛的故事 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:627 |
C二级辅导-同因查找 (C语言代码)浏览:618 |